1. 程式人生 > >tomcat證書檔案轉nginx證書

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

2.2提取證書

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是一個完成的證書

2.3提取私鑰

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

2.4.最重要一步轉化成沒有密碼的key檔案

openssl rsa -in server.key -out server_no.key