此文環境是centos 6.8, tomcat8, https是用的阿里雲的免費dv證書,tomcat綁定的是pfx證書(Tomcat支持JKS格式證書,從Tomcat7開始也支持PFX格式證書,兩種證書格式任選其一)。
此問目的是在開發小程序的時候需要配置https環境,且https使用的ssl必須在TLS1.2或以上,於是寫了本文。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"/>