參考文獻:
http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html
http://blog.sina.com.cn/s/blog_682b5aa1010113uu.html(中文,比較實用)
https://help.ubuntu.com/community/TomcatSSL
(伺服器和用戶端證書)
背景
本文以ubuntu環境為例進行說明,具體環境如下
OS:ubuntu-server_12.04
TOMCAT_HOME:/usr/local/tomcat7,安裝方法參考:windows和linux下将tomcat注冊為服務
JAVA_HOME:/usr/lib/jvm/jdk1.7.0_45,安裝方法參考:ubuntu下安裝JDK并配置java環境
總體思路
伺服器端
1.用JDK自帶的Keytool生成keystore檔案
1)打開終端控制台,轉向tomcat主目錄,執行生成keystore檔案指令,這條指令的作用是在tomcat主目錄下生成server.keystore檔案,這裡設定的server.keystore的密碼是Envisi0n,這個密碼在後面會用到。
keytool -genkey -alias tomcat -keyalg RSA -keypassEnvisi0n -storepass Envisi0n -keystore server.keystore -validity3600
2)根據keystore檔案生成證書,這條指令的作用是在tomcat主目錄下生成server.cer證書檔案。
keytool -export -trustcacerts -alias tomcat -fileserver.cer -keystore server.keystore -storepass Envisi0n
3)%TOMCAT_HOME%\conf\server.xml,找到一下這段内容,将這段的注釋取消掉
<Connectorport="8443" protocol="HTTP/1.1"SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
并添加keystoreFile和keystorePass,如下圖所示:
<Connectorport="8443" protocol="HTTP/1.1"SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/tomcat7/server.keystore"
keystorePass="Envisi0n" />
4)拿到上面第二步獲得的證書以後,将此證書導入到JDK的cacerts庫當中,執行如下指令