網址申請 | 網站代管 | 資安服務 | SSL 數位憑證
Cloudmax 匯智 SSL 數位憑證服務
        中國  |  如何付款  |  聯繫我們  |  Cloudmax 匯智
 Geotrust SSL
  技術支援服務: 歡迎來到 Cloudmax 匯智 SSL 數位憑證客戶服務中心。  
     產品價格一覽表
     產品購買指南
     申請流程

Tomcat - SSL操作大全

簡介

Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,目前最新版本是6.0.20(截止到2009-10-22)。

Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規範。因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體發展商的認可,成為目前比較流行的Web 應用伺服器。

另外,Tomcat和IIS、Apache等Web伺服器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。

當Tomcat作為獨立的Web Servcer運行的時候,可以獨立處理SSL請求,這個時候,我們就需要在Tomcat上安裝SSL憑證,如果Tomcat和Apache聯合工作,事實上是作為Apache的一個獨立進程來負責JSP頁面和Servlet,這個時候,我們就需要將SSL憑證安裝在Apache上,這點需要先確認好。

Tomcat還有一個特殊的模組:APR(Apache Portable Runtime)是為了提高Tomcat處理靜態內容性能,提供的元件,其實就是以Apache2.0為核心的一個http服務。在HTTPS方面,APR和Apache一樣採用Openssl,在憑證安裝部分,會簡要說明一下。

Tomcat支援Jave Keystore檔格式作為SSL憑證存儲用途。Java Keystore文件的常見副檔名有.jks和.key。要製作JKS檔,有2種主要方式:

  1. 用JRE自帶的Keytool工具。先產生一個新的jks檔,並到處一個csr檔,然後將csr發給CA簽名,並將簽名後的文件導入jks文件。
  2. 用openssl工具,製作key和csr文件,將csr發給CA簽名得到cer檔,然後將key和cer合併成一個jks檔。


製作CSR申請文件

1、製作Tomcat用CSR請求檔,最簡單的辦法就直接使用我們的 OpenSSL CSR線上生成器: http://www.myssl.com.tw/openssl/createcsr.asp
(注意:您必須同時保存server.key和server.csr文件)

2、常見的JKS檔製作,要採用Keytool工具,這個工具是JRE自帶的。通過命令行的方式輸入CSR資訊,而且可以支援中文資料。
首先,生成一個新的jks檔,命令如下:
keytool -genkey -alias tomcat -keyalg RSA -keystore c:\server.jks

 輸入密鑰庫密碼:changeit
您的姓名是什麼?
  [未知]:  www.myssl.tw
您的組織單位名稱是什麼?
  [未知]:  Cloudmax Inc.
您的組織名稱是什麼?
  [未知]:  It Dept.
您的市/縣/區或地點名稱是什麼?
  [未知]:  Taiwan
您的省/直轄市名稱是什麼?
  [未知]:  Taipei
此單位的兩字母國家或地區代碼是什麼?
  [未知]:  TW
CN=www.myssl.tw, OU="Cloudmax Inc.", 
O=It Dept., L=Taiwan, ST=Taipei, C=CN 正確嗎?
(輸入“yes”或“no”)
  [否]:  Y
 
為 <tomcat> 輸入密鑰密碼
        (如果與密鑰庫密碼相同則返回):

說明: 輸入keystore密碼: 請輸入保護憑證密鑰的密碼。
 
您的名字與姓氏是什麼?請輸入功能變數名稱,例如:www.myssl.cn
 
您的組織單位名稱是什麼?請輸入單位名稱,如: Cloudmax Inc.
 
您的組織名稱是什麼?請輸入部門名稱,如: IT Dept
 
您所在的城市或區域名稱是什麼?輸入城市名稱,如:Taipei
 
您所在的州或省份名稱是什麼?輸入省份名稱,如:Taiwan
 
該單位的兩字母國家代碼是什麼?台灣請輸入CN
 
CN=www.myssl.tw, OU= Cloudmax Inc., O=IT Dept, L=Taipei, ST= Taipei, C=TW 正確嗎?輸入 Y
 
輸入的主密碼(如果和 keystore 密碼相同,按回車):按回車
 

根據這個jks檔產生一個csr檔,輸入命令:
keytool -certreq -alias tomcat -keystore server.jks -file server.csr


安裝憑證文件

1、將憑證內容存為一個檔:

您會收到一封來自憑證中心的郵件,憑證內容附在郵件中。如果憑證是以附件的形式(Cert.cer)夾帶在郵件中,您就可以直接應用它。如果您的憑證中以文本的方式存在郵件中,您就需要將郵件中的憑證部分的內容用Vi或Notepad存成一個純文字檔案。不要將其存成Microsoft Word 或其他文字處理軟體格式,並確定憑證內容中不含有空行和空格,檔案名可以為server.cer。如下所示:


將保存好的server.cer檔和製作CSR時候生成的server.key一起複製到伺服器上。

2、如果是使用線上工具製作的CSR檔,請打開線上JKS合成工具,將製作CSR時候的server.key文件和剛剛收到的server.cer輸入2個文本框,然後合成一個server.jks文件。

3、如果是用keytool做的CSR檔,則需要按下面方式,將憑證導入原來的jks檔。

3.1 請使用P7B線上轉換工具將server.cer轉換為P7B檔:
請用Notepad打開server.cer檔,將其中的全部內容(包含-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----),將全部內容複製到P7B線上轉換工具中的文本框中,然後點擊“合成P7B文件”。待合成成功後,下載檔,保存為cert.txt。

3.2 然後運行命令,將CA簽好的憑證文件cert.txt導入jks文件:
keytool -import -keystore server.jks -alias tomcat -file cert.txt

4、如果沒有APR的Tomcat,按下面例子更新Server.xml檔配置

<-- Define a SSL Coyote HTTP/1.1 Connector on port 443 -->
<!--Tomcat 5.5 
<Connector 
           port="8443" minProcessors="5" maxProcessors="75"
           enableLookups="true" disableUploadTimeout="true"
           acceptCount="100" debug="0" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="server.jks" keystorePass="changeit"/>
-->
注意:不同tomcat版本,修改server.xml的方式不同,請參考tomcat說明:
tomcat 6.0 http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
tomcat 5.5 http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
tomcat 5.0 http://tomcat.apache.org/tomcat-5.0-doc/ssl-howto.html
tomcat 4.1 http://tomcat.apache.org/tomcat-4.1-doc/ssl-howto.html
 

5、配置了APR的Tomcat,需要使用server.key和server.cer檔,並按mod_ssl的語法來更新Server.xml檔配置

<-- Define a APR SSL Coyote HTTP/1.1 Connector on port 443 --&rt;
<!--
<Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
           port="443" minSpareThreads="5" maxSpareThreads="75"
           enableLookups="true" disableUploadTimeout="true" 
           acceptCount="100"  maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="server.cer" 
           SSLCertificateKeyFile="server.key"
           SSLVerifyClient="none"  sslProtocol="TLS"/>
-->

客戶憑證認證

1、沒有APR模組的Tomcat,如果需要採用客戶憑證認證(雙向SSL認證),需要在server.xml中增加以下配置:

           clientAuth="true"
           truststoreFile="ca.jks"
           truststorePass="changeit"	

說明:
clientAuth="true",表示必須有客戶憑證才可以訪問。
clientAuth="false",表示不驗證是否有客戶憑證。
clientAuth="want",表示會檢查客戶憑證,但如果沒有也可以繼續訪問。

2、使用APR模組的Tomcat,需要用mod_ssl的語法來配置客戶憑證認證,增加以下配置:

           SSLVerifyClient="require"
           SSLCACertificateFile="ca.cer"		

詳細參數,可以參考Apache SSL文檔說明。

憑證的備份(導出)

Tomcat的憑證備份,只需要將server.jks文件(或可查看server.xml中keystoreFile對應的那個jks檔)複製到備份媒體上即可了。


憑證的恢復(導入)

要恢復Tomcat的憑證同樣非常簡單,將備份的jks檔,複製到新的伺服器上,然後參考上面伺服器憑證安裝說明,修改server.xml檔即可。


 
技術文件資料

技術名詞解釋

CSR的產生

伺服器憑證的安裝
   Apache 2.2
   Mod SSL
   WebLogic 6.0
   WebLogic 8.1
   IBM Websphere 5.1
   IBM Websphere MQ
   IBM HTTP Server
   Lotus Domino
   Windows 2000 - IIS 5.0
   Windows 2003 - IIS 6.0
   Netscape Enterprise3
   Netscape iPlanet 4.x
   Netscape iPlanet 6.x
   Webstar 4.x
   OpenSSL和CSR線上產生器
   QuicksslPremium安全標章
   Red Hat Secure Web      Server
   Stronghold
   Tomcat
   True BusinessID安全標章
   Zeus
   安裝中的防火牆問題

伺服器憑證的備份

聯繫銷售人員

常見問題與解答
SOSA 資訊透明化電子商店 ISO cert.No.573698