网上由很多,但是感觉操作比较复杂,有些签发的证书不可用。现在介绍简单方法。假设已经安装了openssl,已有sudo权限。已经建立路径:/ope/ca,所有操作都在此路径下进行。
1. 准备工作,由于我们签发的证书,不一定用于有域名的情况,而且服务端可能部署于任何Ip地址,所以,要准备一个证书的扩展配置,文件命为:server-ext.cnf,用echo命令直接生成此文件,命令行:
echo "subjectAltName=DNS:*.demo.com,IP:0.0.0.0" > server-ext.cnf
文件内容如下:
subjectAltName=DNS:platon.com,IP:0.0.0.0
2. 生成CA私钥,并自签名
openssl req -x509 -newkey rsa:4096 -days 365 -nodes -keyout ca-key.pem -out ca-cert.pem -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=Demo, Ltd./OU=Demo CA ROOT/CN=*.demo.com/emailAddress=dev@demo.com"
可以检查刚生成的CA证书
openssl x509 -in ca-cert.pem -noout -text
3. 生成服务端私钥,并生成签名请求(生成CSR文件)
openssl req -newkey rsa:4096 -nodes -keyo