tomcat證書檔案轉nginx證書
https://blog.csdn.net/ziruominglin/article/details/78350858
前提條件:tomcat已經配置過https,防火牆裡已經配置埠規則
由nginx轉發配到tomcat:
比較關鍵的一步是將jks轉成cer、key,其中key必須是沒有密碼的
Nginx證書配置:tomcat證書jks檔案轉nginx證書.cet和key檔案
1.檢視jks檔案中的entry.
keytool -list-keystore server.jks
Enter keystore password: (這裡輸入server.jks密碼)
Keystore type: JKS
Keystore provider: SUN
Your keystorecontains 2 entries
inter, Mar 24, 2016, trustedCertEntry,
Certificate fingerprint (SHA1):**************************
tomcat, Mar 24, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): ******************
請注意我特意加粗的那個名字,inter和tomcat,這分別是倆個entry的別名,是srcalias,下文的命令會用到,同時這裡需要指出我們是要將那個證書轉為nginx的配置。這裡選擇tomcat。
2.將jks檔案匯出為Nginx所需要的檔案.crt和.key
2.1 將”.jks”轉為”.p12”(PKCS12格式的證書庫)
keytool-importkeystore -srckeystore oldkeystore.jks -srcalias tomcat -destkeystorenewkeystore.p12 -deststoretype PKCS12
· 檢視新格式(pkcs12)證書庫
keytool-deststoretype PKCS12 -keystore newkeystore.p12 -list
openssl pkcs12-in newkeystore.p12 -nokeys -clcerts -out server-ssl.crt
openssl pkcs12 -in newkeystore.p12-nokeys -cacerts -out gs_intermediate_ca.crt
server-ssl.crt是SSL證書,gs_intermediate_ca.crt是中級證書,倆個合併到一起才是nginx伺服器所需要的證書
合併證書:cat server-ssl.crt gs_intermediate_ca.crt >server.crt
此時server.crt是一個完成的證書
openssl pkcs12-nocerts -nodes -in newkeystore.p12 -out server.key
2.4.最重要一步轉化成沒有密碼的key檔案
openssl rsa -in server.key -out server_no.key