1. 程式人生 > >Tomcat 繫結https證書

Tomcat 繫結https證書


此文環境是centos 6.8, tomcat8, https是用的阿里雲的免費dv證書,tomcat繫結的是pfx證書Tomcat支援JKS格式證書,從Tomcat7開始也支援PFX格式證書,兩種證書格式任選其一)。


此問目的是在開發小程式的時候需要配置https環境,且https使用的ssl必須在TLS1.2或以上,於是寫了本文。Tomcat域名配置參考我另一篇文章

Tomcat 配置域名

在申請到阿里雲的免費DV證書後,下載 "證書 for Tomcat",
檔案說明:
1. 證書檔案214054375370509.pem,包含兩段內容,請不要刪除任何一段內容。
2. 如果是證書系統建立的CSR,還包含:證書私鑰檔案214054375370509.key、PFX格式證書檔案214054375370509.pfx、PFX格式證書密碼檔案pfx-password.txt。
1、證書格式轉換

在Tomcat的安裝目錄下建立cert目錄,並且將下載的全部檔案拷貝到cert目錄中。如果申請證書時是自己建立的CSR檔案,附件中只包含214054375370509.pem檔案,還需要將私鑰檔案拷貝到cert目錄,命名為214054375370509.key;如果是系統建立的CSR,請直接到第2步。

到cert目錄下執行如下命令完成PFX格式轉換命令,此處要設定PFX證書密碼,請牢記:

openssl pkcs12 -export -out 214054375370509.pfx -inkey 214054375370509.key -in 214054375370509.pem

2、PFX證書安裝

找到安裝Tomcat目錄下該檔案server.xml,一般預設路徑都是在 conf 資料夾中。找到 <Connection port="8443" 標籤,增加如下屬性:

keystoreFile="cert/214054375370509.pfx"
keystoreType="PKCS12"
#此處的證書密碼,請參考附件中的密碼檔案或在第1步中設定的密碼
keystorePass="證書密碼"
完整的配置如下,其中port屬性根據實際情況修改:

<Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/214054375370509.pfx"
    keystoreType="PKCS12"
    keystorePass="證書密碼"
    clientAuth="false"
    ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"/>

3、檢測https是否安裝成功,TLS1.2是否生效
進入這個網址https://www.qcloud.com/product/ssl,然後輸入自己的域名即可檢測(這個其實是蘋果ATS檢測,這裡投了個機)