SSL/TLS证书的几种文件类型文中介绍SSL/TLS有多种文件形式,对应用于不同服务器中的部署,通常我们使用openSSL工具对其进行转换,也可使用本站的在线工具进行转换。

SSL/TLS证书的几种文件类型文中介绍SSL/TLS有多种文件形式,对应用于不同服务器中的部署,通常我们使用openSSL工具对其进行转换,也可使用本站的在线工具进行转换。

使用支持openSSL命令的工具可执行以下命令进行转换

重要认知

1、DER用于二进制DER编码证书,可以是CER/CRT的表现形式,类似下面的形式

3082 05f7 3082 04df a003 0201 0202 1100
ddd1 cf29 a1bc 4b6d c7ba 2a81 170c 5644
300d 0609 2a86 4886 f70d 0101 0b05 0030
8196 310b 3009 0603 5504 0613 0247 4231 

2、CER/CRT等证书格式不含私钥,CER常用于Windows操作系统扩展名,CRT常用于Unix类的系统,例如MacOS或者Linux

x509(cer/crt/pem等)转为pfx格式

如果转换需要设置密码,请输入密码,如不需要则留空

openssl pkcs12 -export -in server.pem -inkey server_private.key -out server.pfx

crt转为pem

openssl x509 -in server.crt -out server.der -outform DER
openssl x509 -in server.der -inform DER -out server.pem -outform PEM

pfx转为pem

openssl pkcs12 -in server.pfx -out server.pem -nodes

pfx提取私钥和公钥(key)

从pfx提取密钥对信息,并转换为key格式(使用pkcs12补全,如果pfx加密,提示输入密码输入即可)

openssl pkcs12 -in server.pfx -nocerts -nodes -out server.key

从密钥对提取私钥

openssl rsa -in server.key -out server_private.key

从密钥对提取公钥

openssl rsa -in server.key -pubout -out server_public.key

如果因为RSA算法使用的是pkcs8模式,需要对提取的私钥使用下述命令

openssl pkcs8 -in server_private.key -out server_private.p8 -outform der -nocrypt -topk8

key转为pvk

pvk是微软专用的用于保存私钥的文件格式

openssl rsa -in server.key -pvk-strong -out server.pvk

x509(cer/crt/pem等)转为spc

spc是微软专用的用于保存公钥的文件格式

openssl crl2pkcs7 -nocrl -certfile server.pem  -outform DER -out server.spc

相关文章