1. 程式人生 > >ssl證書生成與轉換(pfx, pem, key, crt)

ssl證書生成與轉換(pfx, pem, key, crt)

文章目錄

安裝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=XX" -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