• 配置tomcat的https通信(单向认证)


    1、首先用jdk带的工具生成证书库

    打开cmd命令行窗口,cd 到tomcat安装目录的bin下面执行

    keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore  -validity 36500

    附:d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。"-validity 36500”含义是证书有效期,默认值是90天(注意若要放到c盘,在win7系统下,需要以管理员身份进入到命令行中进行操作,否则是无法创建tomcat.keystore的。)

        提示输入密钥库密码,如输入123456,配置tomcat的server.xml的时候要用到,从证书库中导出证书的时候也要用到。

        然后输入名称,这是访问时url中的名称。一定输入一致。

        一次输入组织、省市等确认输入无误完成keystore的创建。

    2、修改tomcat配置

    打开%TOMCAT_HOME%/conf/server.xml中

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true"clientAuth="false" keystoreFile="D:/tomcat.keystore" keystorePass="123456" sslProtocol="TLS" />的注释,设置keystone的路径和密码keystoreFile="D:/tomcat.keystore" keystorePass="123456"。如果是tomcat7需要将将protocol="HTTP/1.1"改成protocol=” org.apache.coyote.http11.Http11Protocol”,(Tomcat提供了两个SSL实现,一个是JSSE实现,另一个是APR实现,6.0默认使用JSSE实现,而7.0默认使用APR实现,本文中的采用的是jsse的实现)

    3、启动tomcat验证https协议是否配置成功

    浏览器输入https://localhost:8443 出现tomcat的小猫界面及访问成功。(当然如果你删除了webapps下面的默认站点就肯定是空白的了)

    可以看到此时的网站是不受信任的

    4、导出证书文件并导入到浏览器中

           在tomcat的bin目录下面执行:

    keytool -export -alias tomcat -file D:/file.cer -keystore d:/tomcat.keystore -validity 36500

    输入刚才设置的证书库密码就可以导出证书文件。

           双击file.cer文件即可将证书导入到受信任的根证书颁发机构位置上,也可运行certmgr.msc进入win的证书管理界面执行导入证书。

    导入证书后访问就可以看到网站受信任了。此时完成了tomcathttps通信的配置。浏览器与网站间的信息传输就通过了https协议进行传输了,传输信息进行了加密。

    附:配置http重定向到https。在应用程序中web.xml中加入:

    <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>

    这样当浏览器通过http协议访问应用时就会跳转到https协议的端口也就是这句配置的作用redirectPort="8443"。

    本文章属于本人和博客园所有,如有转载请注明出自http://www.cnblogs.com/xucheng
  • 相关阅读:
    redis接入sentinelPool的配置
    02.Redis主从集群的Sentinel配置
    淘宝大秒系统设计详解
    关于Thread.currentThread()和this的差异
    App开放接口api安全性—Token签名sign的设计与实现
    使用Spring Session做分布式会话管理
    PowerDesigner 15.1 安装步骤详细图解及破解
    解密ThreadLocal
    深入分析 ThreadLocal 内存泄漏问题
    一个经典例子让你彻彻底底理解java回调机制
  • 原文地址:https://www.cnblogs.com/xucheng/p/tomcat_https.html
Copyright © 2020-2023  润新知