使用openssl生成自签证书

Author Avatar
WoodyXiong 12月 09, 2018
  • 在其它设备中阅读本文章

证书一般是CA进行签发的,但是有时候网站希望上cdn服务,但是不信任cdn公司帮助保存自己的证书和私钥,而要求cdn厂商使用自签证书来进行测试以及pk。本文将一步一步教你如何使用openssl来生成自己的自签证书

安装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

参考链接

How can I generate a self-signed certificate with SubjectAltName using OpenSSL

使用OpenSSL生成带有SubjectAltName的自签名证书