常见证书文件如何转成crt和key格式

发布时间 2023-07-04 09:14:57作者: 冰雪2021

1 常见证书文件

*.DER或*.CER文件:该文件是二进制格式,它只含有证书信息,不包含私钥。
*.CRT文件:该文件是二进制格式或文本格式,它也只含有证书信息,不包含私钥。
*.PEM文件:该文件是文本格式,它一般存放证书或私钥,或同时包含证书和私钥。*.PEM文件如果只包含私钥,一般用*.KEY文件代替。
*.PFX或*.P12文件:该文件是二进制格式,它同时包含证书和私钥,且一般有密码保护。

2 转换方式

2.1 从.pfx文件中生成.crt和.key文件

提取私钥:openssl pkcs12 -in yourfile.pfx -nocerts -nodes -out private.key
提取证书:openssl pkcs12 -in yourfile.pfx -clcerts -nokeys -out certificate.crt
命令输入后要求输入密码,就是pfx文件密码,直接输入就可以生成了。

2.2 pem文件生成crt证书文件和key文件

1、生成crt文件命令:  openssl x509 -in yourfile.pem -out certificate.crt
2、生成key文件命令:openssl rsa -in yourfile.pem -out private.key
pem文件生成crt文件的前提是pem文件里面包含BEGIN CERTIFICATE和END CERTIFICATE
pem文件生成key文件的前提是pem文件里面包含BEGIN PRIVATE KEY和END PRIVATE KEY

pem文件格式

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAxJQJTw/IwqOfBNckVX5DZXCtdpjq3VLwA/2sYiHbeuhWAAw7
...
mIxPIV3S2/7Fc2oyZrQBR5yrWJO+zWxPpO9W3lStqz8SNN48QXycAQ==
-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
MIIEZDCCA02gAwIBAgIJAOH3LlVZf9l2MA0GCSqGSIb3DQEBCwUAMIGPMQswCQYD
...
NQb8sTRzLsMfo5w7ctJmuoXEpPtcGWV26DxjyLqfljdeQIqjU2igGw==
-----END CERTIFICATE-----