您的位置:首页 > 理论基础 > 计算机网络

java web https安全传输配置

2017-10-30 19:21 701 查看
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的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java web