1.生成秘钥
SUN公司提供了制作证书的工具keytool。在JDK 1.4以后的版本中都包含了这一工具,它的位置为
<JAVA_HOME>\bin\keytool.exe
(1)创建证书
keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"
(2)查看证书库
keytool -list -keystore test.keystore
(3)导出到证书文件
keytool -export -alias test1 -file test.crt -keystore test.keystore
说明:将名为test.keystore的证书库中别名为test1的证书条目导出到证书文件test.crt中
2.tomcat服务配置
(1)配置Tomcat,打开$CATALINA_HOME/conf/server.xml,修改如下,
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"/>
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
修改为:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/tomcat.keystore"
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
其中:keystoreFile:秘钥库文件路径;keystorePass:秘钥库密码
(2) 打开$CATALINA_HOME/conf/web.xml,在该文件末尾增加:
<!-- SSL安全传输 强制HTTP转HTTPS-->
<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>
3、上述配置完成后,重启TOMCAT后即可以使用SSL。IE地址栏中可以直接输入地址不必输入“http://” 或者 “https://” ;也可以输入 “http:// ” 会跳转成为 “https://” 来登录
4、注意事项:
(1) 生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效”
(2) 如果IE提示“安全证书上的名称无效或者与站点名称不匹配”,则是由生成证书时填写的服务器所在主机的域名“您的名字与姓氏是什么?”/“What is your first and last name?”不正确引起的
5、遗留问题:
(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的。