nginx,SSL各種格式證書的轉換(JKS to PEM, KEY, CRT)

1.使用keytool導出成PKCS12格式:

keytool -importkeystore -srckeystore server.jks -destkeystore server.p12 -srcstoretype jks -deststoretype pkcs12

輸入目標密鑰庫口令:

再次輸入新口令:

輸入源密鑰庫口令:

已成功導入別名 ca_root 的條目。

已完成導入命令: 1 個條目成功導入, 0 個條目失敗或取消

2.生成pem證書(包含了key,server證書和ca證書):

生成key 加密的pem證書

$ openssl pkcs12 -in server.p12 -out server.pem

Enter Import Password:

MAC verified OK

Enter PEM pass phrase:Verifying -

Enter PEM pass phrase:

生成key 非加密的pem證書

$ openssl pkcs12 -nodes -in server.p12 -out server.pem

Enter Import Password:

MAC verified OK

單獨導出key:

生成加密的key

$ openssl pkcs12 -in server.p12 -nocerts -out server.key

Enter Import Password:

MAC verified OK

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:

生成非加密的key

$ openssl pkcs12 -in server.p12 -nocerts -nodes -out server.key

Enter Import Password:

MAC verified OK

單獨導出server證書:

$ openssl pkcs12 -in server.p12 -nokeys -clcerts -out server.crt

Enter Import Password:

MAC verified OK

單獨導出ca證書:

$ openssl pkcs12 -in server.p12 -nokeys -cacerts -out ca.crt

Enter Import Password:

MAC verified OK

Nginx服務器配置

server {

listen 443 ssl;

server_name www.yourdomain.net;

access_log /path_to_log/access.log;

error_log /path_to_log/error.log;


ssl_certificate? ? ? /path_to_certificate/server.crt;

ssl_certificate_key? /path_to_key/new/server.key;


ssl_session_timeout 1m;

ssl_protocols SSLv2 SSLv3 TLSv1.2;

#ssl_ciphers? HIGH:!aNULL:!MD5;

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256:AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;

ssl_prefer_server_ciphers? on;

***

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容