Ubuntu tomcat配置https的方法


参考文献:

http://www.cnblogs.com/xwdreamer/p/3466661.html(后半部分需要做修正)

http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html

http://blog.sina.com.cn/s/blog_682b5aa1010113uu.html(中文,比较实用

https://help.ubuntu.com/community/TomcatSSL

http://blog.csdn.net/fjssharpsword/article/details/6851969(服务器和客户端证书

背景

本文以ubuntu环境为例进行说明,具体环境如

OSubuntu-server_12.04

TOMCAT_HOME:/usr/local/tomcat7,安装方法参考:windowslinux下将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 -keypassEnvisi0n -storepass Envisi0n -keystore server.keystore -validity3600

  2)根据keystore文件生成证书,这条命令的作用是在tomcat主目录下生成server.cer证书文件

keytool -export -trustcacerts -alias tomcat -fileserver.cer -keystore server.keystore -storepass Envisi0n

 

3)%TOMCAT_HOME%\conf\server.xml,找到一下这段内容,将这段的注释取消

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

并添加keystoreFilekeystorePass,如下图所示

  <Connectorport="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"  />

4)拿到上面第二步获得的证书以后,将此证书导入到JDKcacerts库当中,执行如下命

sudo /usr/lib/jvm/java-7-openjdk-amd64/bin/keytool -import -trustcacerts-alias tomcat -file server.cer -keystore/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/security/cacerts -storepass changeit

客户端:

采用单向认证,不需要导入用户证书。用firefox信任该网址就可以了。如果想知道客户端如何生成并导入证书,进行双向验证,可以参考http://blog.csdn.net/fjssharpsword/article/details/6851969

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。