Tomcat配置HTTPS

上一篇 / 下一篇  2015-11-13 15:13:47 / 个人分类:Tomcat

/*
*        Time:2015-11-13
*      Author:Joseph
*
*    配置Tomcat HTTPS
*   
*/



1、生成 服务器证书
   打开 “DOC” 控制台。
   
   keytool -genkey -v -alias serviceCert -keyalg RSA -keystore D:\Certhome\serviceCert.keystore -validity 36500
   
   -alias       证书别名
   -keyalg      加密方式
   -keystore    证书库
   -validity    有效时间(36500是100年,不过系统默认的是90年)
   
   密码: tomcat (记住这个密码)

2、生成 客户端 证书 
    
    keytool -genkey -v -alias clientCert -keyalg RSA -storetypePKCS12 -keystore D:\Certhome\clientCert.p12
密码: tomcat (记住这个密码)

3、将 客户端加载到服务器中,使服务器信任客户端证书
a、>先导出 客户端证书
   keytool -export -alias clientCert -keystore D:\Certhome\clientCert.p12 -storetype PKCS12 -storepass tomcat -rfc -file D:\Certhome\clientCert.cer
b、>导入证书
        keytool -import -v -file D:\Certhome\clientCert.cer -keystore D:\Certhome\serviceCert.keystore

注意: 通过 list 查看是否已经导入成功
      keytool -list -keystore D:\Certhome\serviceCert.keystore
 
4、让客户端信任服务器证书
     由于是双向SSL认证,客户端也要验证服务器证书,因此,必须把服务器证书添加到浏览的“受信任的根证书颁发机构”。
     由于不能直接将keystore格式的证书库导入,必须先把服务器证书导出为一个单独的CER文件,使用如下命令:
      keytool -keystore D:\Certhome\serviceCert.keystore -export -alias serviceCert -file D:\Certhome\serviceCert.cer 。
      通过以上命令,服务器证书就被我们导出到“D:\Certhome\serviceCert.cer”文件了。双击serviceCert.cer 文件,
      按照提示安装证书,将证书填入到“受信任的根证书颁发机构”。

5、配置Tomcat 服务器
     打开Tomcat根目录下的/conf/server.xml,找到Connector port="XX"配置段,修改为如下:
            <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                 SSLEnabled="true" maxThreads="150" scheme="https"
                 secure="true" clientAuth="true" sslProtocol="TLS"
                 keystoreFile="D:\Certhome\serviceCert.keystore" keystorePass="tomcat"
                  truststoreFile="D:\Certhome\serviceCert.keystore" truststorePass="tomcat" />
         (tomcat要与生成的服务端证书名一致)

             clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
             keystoreFile:服务器证书文件路径
             keystorePass:服务器证书密码
             truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书
             truststorePass:根证书密码
   Tomcat 默认的端口号为 443,如果不配置为默认端口,输入URL 的时候加上端口号。
6、  测试配置效果:
       在 浏览器地址栏中输入: https://localhost/  (如果配置的端口不是443,输入:https://localhost:port/ {port 就是你配置的端口号})

TAG: HTTPS https

 

评分:0

我来说两句

Open Toolbar