tomcat7中启用HTTPS

证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,中文官方网站:http://www.verisign.com/cn/

一、JDK自带的keytool工具生成证书

1、Windows环境:

a、运行>>cmd

keytool -genkey -alias mytest -keyalg RSA

tomcat7中启用HTTPS_第1张图片

备注:最后的密钥口令与密钥库口令保持相同,直接回车即可。

b、执行完成后会生成一个.keystore文件(例:C:\Users\Administrator.keystore),将它复制到tomcat的bin目录下(并不一定,放哪里都可以)

c、打开tomcat\conf\server.xml文件,找到以下这一段

<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />
--> 

d、去掉注释,并添加keystoreFile、keystorePass两个属性:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="bin/.keystore" keystorePass="my123456" clientAuth="false" sslProtocol="TLS" />

e、之后启动tomcat就可以了,通过https方式访问8443端口,就能看到效果。如果用http访问之前的端口,那么还是普通的未加密连接。
http://localhost:8080/
https://localhost:8433/

备注:如果启动报异常:java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR
把tomcat\conf\server.xml文件中的

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

注释掉即可。

你可能感兴趣的:(ssl,https)