ssl证书生成与转换(pfx, pem, key, crt)

文章目录

  • 安装openssl工具
  • 自签名证书
  • 从pfx中导出公钥/私钥/证书
  • pkcs12转pkcs8

安装openssl工具

centos

yum install openssl

ubuntu

apt-get install openssl

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

自签名证书

生成私钥和证书

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,

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

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

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

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

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

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

导出私钥

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

导出证书

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

生成公钥

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

pkcs12转pkcs8

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

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

你可能感兴趣的:(加密)