自己配置了一次Tomcat SSL,其中碰到了一些錯誤,把整個過程記錄下來!
1、生成服務器端證書文件
可以使用Windows系統或者Linux系統
(1) Windows環境
條件:已經安裝JDK
步驟:
l 進入%JAVA_HOME%/bin目錄。
l 執行命令
keytool -genkey -alias tomcat -keyalg RSA -keystore F:\tomcat.keystore -validity 36500
參數簡要說明:“F:\tomcat.keystore”含義是將證書文件保存在F盤,證書文件名稱是tomcat.keystore ;“-validity 36500”含義是證書有效期,36500表示100年,默認值是90天
l 在命令行填寫必要的參數:
A、輸入keystore密碼:此處需要輸入大於6個字符的字符串
B、“您的名字與姓氏是什麼?”這是必填項,並且必須是TOMCAT部署主機的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址
C、“你的組織單位名稱是什麼?”、“您的組織名稱是什麼?”、“您所在城市或區域名稱是什麼?”、“您所在的州或者省份名稱是什麼?”、“該單 位的兩字母國家代碼是什麼?”可以按照需要填寫也可以不填寫直接回車,在系統詢問“正確嗎?”時,對照輸入信息,如果符合要求則使用鍵盤輸入字母“y”, 否則輸入“n”重新填寫上面的信息
D、輸入<tomcat>的主密碼,這項較爲重要,會在tomcat配置文件中使用,建議輸入與keystore的密碼一致,設置其它密碼也可以
l 完成上述輸入後,直接回車則在你在第二步中定義的位置找到生成的文件
(2) Linux環境
條件:安裝了JDK
步驟:
l 進入$JAVA_HOME/bin目錄,這步很重要,因爲自己環境中有二個JDK,當時用了系統默認的,結果密鑰認出不來,後來發現用戶的JDK和系統的不一樣。
l 執行命令
./keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/tomcat.keystore -validity 36500
2、配置TOMCAT服務器
(1) 如果你是在Windows環境中生成證書文件,則需要將生成的證書tomcat.keystore拷貝到Tomcat將要引用的位置,假設tomcat的 應用證書的路徑是“/opt/tomcat/tomcat.keystore”,則需要將證書文件拷貝到“/opt/tomcat/”下;如果是在Linux環境按照上述介紹的步驟生成 證書文件的話,此時證書文件已經在“/opt/tomcat/”下。
(2) 配置Tomcat,打開$CATALINA_HOME/conf/server.xml,修改如下,
< !--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
-->
去掉註釋且修改參數=>
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/opt/tomcat/tomcat.keystore" keystorePass="412385524"/>
註釋:***文件的位置和<tomcat>的主密碼,在證書文件生成過程中做了設置。
查看證書內容:
/usr/java/jdk1.7.0_60/bin/keytool -list -v -alias tomcat -keystore tomcat.keystore -storepass 412385524