首先,openssl工具是开源的,可以运行在任何操作系统下的(包括Linux\UNIX\MacOS\Windows)。本文以Windows操作系统为演示载体进行教程。
1、下载安装包
强烈推荐这个便携包的下载网站 https://slproweb.com/products/Win32OpenSSL.html
仅用于证书格式转换的话,下载对应系统架构(Win32或Win64)的Light版本即可,体积也不大。
2、启动方法
一:安装完成后,打开到OpenSSL安装目录下的【start.bat】脚本双击启动,然后在启动的窗口中操作就可以了。
二:添加openssl的系统环境变量,方便在任意cmd窗口直接执行openssl命令。
三:启动cmd后,手动进入到openssl目录再执行openssl命令。
3、证书的编码
X509 文件扩展名
首先我们要理解文件的扩展名代表什么。DER、PEM、CRT和CER这些扩展名经常令人困惑。很多人错误地认为这些扩展名可以互相代替。尽管的确有时候有些扩展名是可以互换的,但是最好你能确定证书是如何编码的,进而正确地标识它们。正确地标识证书有助于证书的管理。
编码 (也用于扩展名)
.DER : 扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
.PEM : 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行"—– BEGIN …“开始。如“BEGIN RSA PRIVATE KEY”
常用的扩展名
CRT : 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。
CER : CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll, CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。
KEY : 扩展名KEY用于PCSK#8的公钥和私钥。
这些公钥和私钥可以是DER编码或者PEM编码。
CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。
4、证书格式转换的命令
命令示例:
将PEM格式转换为DER格式,可以使用以下命令:
openssl x509 -in cer.pem -out cer.der
将DER格式转换为PEM格式,可以使用以下命令:
openssl x509 -inform der -in cer.der -out cer.pem
将PEM格式(包含证书和私钥)转换为PFX格式,可以使用以下命令:
openssl pkcs12 -export -out cer.pfx -inkey key.key -in cer.crt
将PFX格式转换为PEM格式,可以使用以下命令:
openssl pkcs12 -in cer.pfx -out cer.pem -nodes
将crt和key转换成PFX格式,可以使用以下命令:
openssl pkcs12 -export -in cer.crt -inkey key.key -out cer.pfx
请注意,上述命令中的"cer.pem"、"cer.der"、"cer.crt"、"cer.pfx"和"key.key"为示例,请在使用时换成实际的文件路径和名字。
5、其他说明
因为任意格式都可以互转,但只有pfx格式同时包含了证书公钥和私钥,所以强烈建议您使用OpenSSL在自己的计算机上转换为.pfx文件,以便保留私钥。
如您发现侵权内容,欢迎友好的反馈,站长必在24小时内妥善处理。站长邮箱:postmaster@cloud700.com