1.首先用jdk自帶的工具keytool生成一個"服務器證書"
JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore C:\tomcat.key
提示輸入密碼,使用Tomcat的默認值changeit
輸入相關信息后確認
將生成PCKS1.2格式的數(shù)字證書于C:\tomcat.key
輸入keystore密碼: ************
您的名字與姓氏是什么?
[Unknown]: Wakan.Jiang
您的組織單位名稱是什么?
[Unknown]: ZZNode
您的組織名稱是什么?
[Unknown]: ZZNode
您所在的城市或區(qū)域名稱是什么?
[Unknown]: BeiJing
您所在的州或省份名稱是什么?
[Unknown]: BeiJing
該單位的兩字母國家代碼是什么
[Unknown]: CN
CN=Wakan.Jiang, OU=ZZNode, O=ZZNode, L=BeiJing, ST=BeiJing, C=CN 正確嗎?
[否]: 是
輸入<tomcat>的主密碼
(如果和 keystore 密碼相同,按回車):
特別說明:上邊輸入的“<tomcat>的主密碼”,與keystore密碼一定要相同,否則TOMCAT起不來。至少我試了幾次都不行。報錯如下:
2007-3-26 17:07:01 org.apache.coyote.http11.Http11BaseProtocol init
嚴重: Error initializing endpoint
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14Socket Factory.java:125)
2.如果是JDK1.3以下則需要下載Java Secure Socket Extensions (JSSE) package(http://java.sun.com/products/jsse/), version 1.0.2 or later,且將jcert.jar, jnet.jar, jsse.jar拷貝到$JAVA_HOME/jre/lib/ext
如果是JDK1.4.x+則已經(jīng)有這些包。
3.修改tomcat目錄下的server.xml文件,增加
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="C:/tomcat.key" />
4.重啟Tomcat,訪問https://localhost:8443/
詳情請參考:http://tomcat.apache.org/tomcat-5.0-doc/ssl-howto.html