tomcat開啟SSL8443端口的方法


參考文獻:

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

http://blog.csdn.net/fjssharpsword/article/details/6851969(服務器和客戶端證書)

背景

本文以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 -keypass Envisi0n -storepass Envisi0n -keystore server.keystore -validity 3600

  2)根據keystore文件生成證書,這條命令的作用是在tomcat主目錄下生成server.cer證書文件。

keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass Envisi0n

 客戶端如果要訪問tomcat的ssl8843端口,需要導入這個證書。當然生成證書的方法還有更加簡單的,就是在客戶端使用瀏覽器下載證書,可以是firfox,也可以是chrome,chrome證書導出方式如下:

3)%TOMCAT_HOME%\conf\server.xml,找到一下這段內容,將這段的注釋取消掉

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />

並添加keystoreFile和keystorePass,如下圖所示:

  <Connector port="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"  />

客戶端導入證書

拿到上面第二步獲得的證書以后,將此證書導入到JDK的cacerts庫當中,執行如下命令

keytool -importcert -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file d:/keystore/cas.cer -alias caskey

JDK的cacerts這個keystore的默認密碼是changeit。

然后配置tomcat的connector,配置如下

  <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="%JAVA_HOME%/jre/lib/security/cacerts"
               keystorePass="changeit"  />

應用場景

可以將上述的服務器端看作是CAS服務器,而客戶端怎是web應用。web應用要通過CAS服務器實現單點登錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM