证书一般是CA进行签发的,但是有时候网站希望上cdn服务,但是不信任cdn公司帮助保存自己的证书和私钥,而要求cdn厂商使用自签证书来进行测试以及pk。本文将一步一步教你如何使用openssl来生成自己的自签证书
安装openssl
打开命令行,确保openssl命令可用
生成私钥
openssl genrsa -out private.key 3072
使用私钥生成证书
生成没有subjectAltName字段的证书
openssl req -new -x509 -key private.key -sha256 -out certificate.pem -days 730
生成带有subjectAltName字段的证书
找到openssl.cnf
我们需要配置openssl.cnf文件来生成subjectAltName字段
一般openssl.cnf文件与openssl命令在同一目录,如果没有则从此处进行复制
配置openssl.cnf
在openssl.cnf最底下加入以下配置区
[ alternate_names ]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.3 = mail.example.com
DNS.4 = ftp.example.com
在[ v3_ca ]配置区加入以下字段
subjectAltName = @alternate_names
将[ CA_default ]的
# Extension copying option: use with caution.
# copy_extensions = copy
改成
# Extension copying option: use with caution.
copy_extensions = copy
最后使用以下命令生成带subjectAltName的证书
openssl req -new -x509 -key private.key -sha256 -out certificate.pem -days 730 -config openssl.cnf
大功告成
使用以下命令查看证书
openssl x509 -in certificate.pem -text -noout
参考链接