【备忘录】手动生成ssl证书v3:CAKey、CAReq、CACert、serverKey、serverReq、serverCert
#openssl生成CA密钥、CA请求文件和CAv3证书 openssl genrsa -out ca-key.pem 2048 openssl req -new -key ca-key.pem -out ca-req.pem openssl x509 -req -days 3650 -sha256 -extfile /etc/ssl/openssl.cnf -extensions v3_ca -in ca-req.pem -key ca-key.pem -out ca-cert.pem #openssl查看CA证书信息 openssl x509 -in ca-cert.pem -noout -text #openssl生成服务器密钥和证书请求文件 openssl req -newkey rsa:2048 -days 3650 -keyout server-key.pem -out server-req.pem #根据CA密钥、CA证书、服务器请求文件生成服务器v3证书 openssl x509 -req -in server-req.pem -days 3650 -sha256 -extfile /etc/ssl/openssl.cnf -extensions v3_req -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem #openssl查看服务器证书信息 openssl x509 -in server-cert.pem -noout -text
#将文本格式文件转换为二进制格式文件 openssl x509 -inform PEM -outform DER -in ca-cert.pem -out ca-cert.der
#删除密钥key的密码
openssl rsa -in server-key.pem -out server-key.pem
#openssl将server密钥和serverX.509格式证书导出为PKCS12格式文件,可选参数 -macalg sha1 -descert(使用des-sha1加密口令,默认是aes256-sha256加密)
openssl pkcs12 -export -name server -chain -CAfile ca-cert.pem -inkey server-key.pem -in server-cert.pem -out server.p12
openssl pkcs12 -export -macalg sha1 -descert -name server -chain -CAfile ca-cert.pem -inkey server-key.pem -in server-cert.pem -out server.p12
#验证server证书与CA证书的关系
openssl verify -CAfile ca-cert.pem server-cert.pem
写在最后:因系统不同,可能文件要求的后缀不同,一般key是私钥、csr是证书请求文件、cer der crt是证书文件、p12 pfx是pkcs12格式证书