2013年1月10日 星期四

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的版本而些微調整,可以參考官方網站的設定方式。