Monday, April 23, 2007

在Tomcat中設定SSL

在Tomcat中要設定SSL事實上十分簡單,甚至無需認證主機即可進行,步驟如下:


  1. C:\>%JAVA_HOME%\bin\keytool -genkey -keyalg RSA -alias test -keystore .keystore


    輸入 keystore 密碼:abcde1234
    您的名字與姓氏為何?
    [Unknown]: AAA
    您的編制單位名稱為何?
    [Unknown]: AAA
    您的組織名稱為何?
    [Unknown]: AAA
    您所在的城市或地區名稱為何?
    [Unknown]: Taipei
    您所在的州及省份名稱為何?
    [Unknown]: Taipei
    該單位的二字國碼為何
    [Unknown]: tw
    CN=AAA, OU=AAA, O=AAA, L=Taipei, ST=Taipei, C=tw 正確嗎?
    [否]: y
    輸入 的主密碼
    (RETURN 如果和 keystore 密碼相同):


  2. 將前一步驟所產生出來的.keystore放置到tomcat目錄中


  3. 修改%TOMCAT_HOME%\conf\server.xml,找到被註解掉的SSL設定行
    < Connector port="8443" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" disableuploadtimeout="true" acceptcount="100" debug="0" scheme="https" secure="true" clientauth="false" sslprotocol="TLS" keystoreFile=".keystore" keystorePass="abcde1234"/>

    並加入粗斜體字的兩行指定keystore檔案與密碼。


  4. 重新啟動tomcat即大功告成


SSL預設port為443,是故可以將tomcat的預設port從8443修改為443,如此依來以https進入WebApp時,便無須輸入port(就如同http的預設port為80)

詳細的設定方式,會因應tomcat的版本而些微調整,可以參考官方網站的設定方式。

1 comment:

阿莫 said...

謝謝你詳細的說明
解決我一個積壓很久的疑問
謝謝~~~:D