天天看點

Tomcat如何開啟SSL配置(https)

一、建立證書

     證書用于用戶端與服務端安全認證。我們可以使用JDK自帶的keytool工具來生成證書。真正在産品環境中使用肯定要去證書提供商去購買,證書認證一般都是由VeriSign認證,官方位址:http://www.verisign.com/cn/

   生成密鑰庫和證書:

    1、生成伺服器證書庫

     keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore F:\ssl\server.keystore              //在F盤中,先建立一個空ssl檔案夾

     "-validity 365":設定證書的有效日期

Tomcat如何開啟SSL配置(https)

      2、生成用戶端證書庫:

       keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore F:\ssl\client.p12

Tomcat如何開啟SSL配置(https)

    3、從用戶端證書庫中導出用戶端證書

          keytool -export -v -alias client -keystore F:\ssl\client.p12 -storetype PKCS12 -rfc -file F:\ssl\client.cer

Tomcat如何開啟SSL配置(https)

    4、從伺服器證書庫中導出伺服器證書

          keytool -export -v -alias server -keystore F:\ssl\server.keystore  -rfc -file F:\ssl\server.cer

Tomcat如何開啟SSL配置(https)

     5、生成用戶端信任證書庫(由服務端證書生成的證書庫)

         keytool -import -v -alias server -file F:\ssl\server.cer -keystore F:\ssl\client.truststore 

Tomcat如何開啟SSL配置(https)

   6、将用戶端證書導入到伺服器證書庫(使得伺服器信任用戶端證書)

         keytool -import -v -alias client -file F:\ssl\client.cer -keystore F:\ssl\server.keystore

Tomcat如何開啟SSL配置(https)

   7、檢視證書庫中的全部證書

        keytool -list -keystore F:\ssl\server.keystore

Tomcat如何開啟SSL配置(https)

 以上所有輸入密碼都是自定義設定為:123456。如果不想每次執行指令都輸入指令可以加上"-storepass 123456"

如:keytool -list -keystore F:\ssl\server.keystore -storepass 123456

二、Tomcat配置:

(1).把server.keystore檔案放到tomcat的安裝目錄下的conf目錄,如: D:\Tomcat_7.0.47\conf

(2).修改tomcat目錄下的server.xml檔案

添加如下内容:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true"

   clientAuth="true" sslProtocol="TLS" truststoreType='JKS'

   keystoreFile="conf/server.keystore" keystorePass="123456"

   truststoreFile="conf/server.keystore" truststorePass="123456"/>

注釋下内容:

<!--

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

           maxThreads="150" scheme="https" secure="true"

           clientAuth="false" sslProtocol="TLS"/>

-->

三、用戶端浏覽器證書導入:

 這裡需要導入兩個檔案,用戶端證書庫client.p12檔案和服務端證書server.cer檔案

用戶端證書庫client.p12導入:

輕按兩下client.p12檔案按提示向導執行

輸入私鑰密碼:

Tomcat如何開啟SSL配置(https)

    下一步,選擇第一個自動選擇證書存儲選項,下一步,按向導完成

服務端證書server.cer檔案導入:

Tomcat如何開啟SSL配置(https)

四、測試

       啟動tomcat。輕按兩下tomcat/bin檔案夾中的startup.bat

      在浏覽器中輸入 https://localhost:8443 出現如下界面,則表示https 8443端口配置成功

Tomcat如何開啟SSL配置(https)

備注:一般Tomcat預設的SSL端口号是8443,但是對于SSL标準端口号是443,這樣在通路網頁的時候,直接使用https而不需要輸入端口号就可以通路,如https://ip/