ssl证书pfx转换crt_pem_key

发布时间:2021/9/14 14:11:25 打印 字号:

安装openssl工具

centos

1
yum install openssl

ubuntu

1
apt-get install openssl

  

windows
从网上下载已经编译好的openssl
http://gnuwin32.sourceforge.net/packages/openssl.htm
然后将安装路径加到环境变量中

自签名证书

生成私钥和证书

1
openssl req -newkey rsa:2048 -keyout my.key -subj "/C=XX/O=XX/OU=XX/OU=XX/OU=XX/CN=wzj.com" -x509 -days 36500 -out my.crt

  

上面操作会给私钥加上密码, 可以通过参数-nodes取消密码. (为了私钥的安全性, 最好加上密码)
如果是使用windows上的gnu openssl工具, 需要指定-config ../share/openssl.cnf,

 

生成公钥
证书中包含了公钥, 因此直接使用证书生成

1
openssl x509 -in my.crt -outform PEM -out my.pem

 

得到了三个文件, 私钥my.key, 公钥my.pem, 证书my.crt

 

生成pfx文件
pfx需要私钥, 公钥, 证书

1
openssl pkcs12 -export -out my.pfx -inkey my.key -in my.pem -certfile my.crt

  

从pfx中导出公钥/私钥/证书

导出私钥

1
openssl pkcs12 -in my.pfx -out my2.key -nocerts

导出证书

1
openssl pkcs12 -in my.pfx -out my2.crt-nodes -nokeys -nokeys

生成公钥

1
openssl x509 -in my2.crt -outform PEM -out my2.pem

  

pkcs12转pkcs8

一些比较旧的系统还在使用pkcs8格式, 比如netty, 需要转换

1
openssl pkcs8 -in my.key -topk8 -out my.pk8