格式转换
更新时间:2019-06-18
如果用户从CA收到的证书不是PEM格式的,需要转换成PEM格式,几种常见的证书格式转换为PEM格式的方法如下表所示:
证书格式 | 转换方法 |
---|---|
DER -> PEM | 证书:openssl x509 -inform der -in my-certificate.cer -out my-certificate.pem 私钥:openssl rsa -inform DER -outform PEM -in my-private-key.der -out my-private-key.pem |
P7B -> PEM | 证书:openssl pkcs7 -print_certs -in my-certificate.p7b -out my-certificate.pem。从my-certificate.pem中获取“-----BEGIN CERTIFICATE-----”开头,“-----END CERTIFICATE-----”结尾的内容作为证书。 私钥:无私钥 |
PFX -> PEM | 证书:openssl pkcs12 -in certname.pfx -nokeys -out my-certificate.pem 私钥:openssl pkcs12 -in certname.pfx -nocerts -out my-private-key.pem -nodes |
注意
-
如果您的私钥是加密的,比如私钥的开头和结尾是-----BEGIN PRIVATE KEY-----, -----END PRIVATE KEY-----或-----BEGIN ENCRYPTED PRIVATE KEY-----, -----END ENCRYPTED PRIVATE KEY-----,或者私钥中包含Proc-Type: 4,ENCRYPTED,需要先运行以下命令进行转换:
openssl rsa -in old_server_key.pem -out new_server_key.pem
-
私钥需要和服务器证书里的公钥匹配。可以通过以下两条命令生成私钥和证书的MD5值,如果二者一致,则可认为私钥与证书里的公钥匹配。
openssl x509 -noout -modulus -in my-certificate.pem | openssl md5 openssl rsa -noout -modulus -in my-private-key.pem | openssl md5