tomcat开启SSL8443端口的方法
背景本文以ubuntu环境为例进行说明,具体环境如下OS:ubuntu-server_12.04TOMCAT_HOME:/usr/local/tomcat7,安装方法参考:windows和linux 下将tomcat注册为服务JAVA_HOME:/usr/lib/jvm/jdk1.7.0_45,安装方法参考:ubuntu下安装JDK并配置java环境总体思路服务器端1.用JDK自带的Keytool生成keystore文件1)打开终端控制台,转向tomcat主目录,执行生成keystore文件命令,这条命令的作用是在tomcat主目录下生成server.keystore文件,这里设定的server.keystore的密码是Envisi0n,这个密码在后面会用到。keytool -genkey -alias tomcat -keyalg RSA -keypass Envisi0n -storepass Envisi0n -keystore server.keystore -validity 3600
2)根据keystore文件生成证书,这条命令的作用是在tomcat主目录下生成server.cer证书文件。keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass Envisi0n
客户端如果要访问tomcat的ssl8843端口,需要导入这个证书。当然生成证书的方法还有更加简单的,就是在客户端使用浏览器下载证书,可以是firfox,也可以是chrome,chrome证书导出方式如下:3)%TOMCAT_HOME%\conf\server.xml,找到一下这段内容,将这段的注释取消掉<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
并添加keystoreFile和keystorePass,如下图所示:<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/tomcat7/server.keystore" keystorePass="Envisi0n"/>
客户端导入证书拿到上面第二步获得的证书以后,将此证书导入到JDK的cacerts库当中,执行如下命令keytool -importcert -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file d:/keystore/cas.cer -alias caskey
JDK的cacerts这个keystore的默认密码是changeit。然后配置tomcat的connector,配置如下<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="%JAVA_HOME%/jre/lib/security/cacerts" keystorePass="changeit"/>
应用场景可以将上述的服务器端看作是CAS服务器,而客户端怎是web应用。web应用要通过CAS服务器实现单点登录。
我是来刷分的,嘿嘿 簖线了得风筝,就会永远飞不起来、 ____夜。静。静悳害怕。心。疼。疼悳莫名其妙。 如果男人的好是要你委屈自己处处讨好,才能塑造,才能得到,你又何可自寻苦恼. 一点以点的想要靠近,想霸占你身上独特的烟味。 我抢、我抢、我抢沙发~
页:
[1]