参考http://wenku.baidu.com/view/d1384419ff00bed5b9f31de3.html
1、生成服务器端证书文件
进入%JAVA_HOME%/bin目录
执行命令keytool -genkey -alias tomcat -keyalg RSA -keystore D:\tools\HttpServer\https\tomcat.keystore -validity 90
简要解释:
D:\tools\HttpServer\https\tomcat.keystore是说证书文件保存在D:\tools\HttpServer\https\,文件名是tomcat.keystore。
-validity 90是证书有效期是90天。
截图:
2.修改tomcat配置文件
(1)。修改server.xml
打开$CATALINA_HOME/conf/server.xml,修改如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改参数=>
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
-->
去掉注释且修改参数=>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/D:/tools/HttpServer/https/tomcat.keystore" keystorePass="123456"/>
注释:标识为淡蓝色的两个参数,分别是证书文件的位置和<tomcat>的主密码,在证书文件生成过程中做了设置
<!--
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
-->
修改参数=>
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
(2)。修改web.xml
打开$CATALINA_HOME/conf/web.xml,在该文件末尾增加:
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
1、上述配置完成后,重启TOMCAT后即可以使用SSL。IE地址栏中可以直接输入地址不必输入“http://”或者 “https://”;也可以输入“http:// ”会跳转成为 “https://” 来登录
2、注意事项:
(1) 生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效”
(2) 如果IE提示“安全证书上的名称无效或者与站点名称不匹配”,则是由生成证书时填写的服务器所在主机的域名“您的名字与姓氏是什么?”/“What is your first and last name?”不正确引起的
3、遗留问题:
(1)如果AC主机不能通过域名查找,必须使用IP,但是这个IP只有在配置后才能确定,这样证书就必须在AC确定IP地址后才能生成
(2)证书文件只能绑定一个IP地址,假设有10.1.25.250和 192.168.1.250两个IP地址,在证书生成文件时,如使用了10.1.25.250,通过IE就只能使用10.1.25.250来访问AC-WEB,192.168.1.250是无法访问AC-WEB的。
下面是我做的测试:
单击“继续浏览此网站”。