Tomcat设置https协议(本地测试)

一、通过JDK自带的keytool工具,创建自己的证书

  1. 打开cmd.exe,进入%JAVA_HOME%\bin目录,或者将该目录加入环境变量。输入下列命令:
    keytool -genkey -alias 别名 -keyalg RSA -keystore 输出位置(命令中的别名和输出位置可以自己设定)
    如下图:
    这里写图片描述
  2. 根据提示输入所需参数:
    密钥库口令(在配置tomcat时会用到)
    您的名字与姓氏是什么?(这里输入需要用到https协议的域名或ip,也可以localhost)
    组织单位、组织名称、城市名称、省市名称、地区代码(可填可不填,一般就不填)
    输入y,回车确认。输入n,重新填写参数。
    这里写图片描述
    输入密钥口令(不知道有什么用),和密钥库口令相同,按回车
    这里写图片描述

二、 配置Tomcat的server.xml文件

添加如下代码:

    <Connector SSLEnabled="true" clientAuth="false" keystoreFile="D:/test/tomcatkey.jks" keystorePass="123456" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>
<!-- clientAuth表示是否验证客户端证书,单向验证不需要。
    port端口号,设置https协议的端口号,默认端口为443 -->

测试:
这里写图片描述

三、 设置Tomcat的web.xml实现https自动跳转。

在web.xml中添加如下代码:

    <login-config>
        <auth-method>CLIENT-CERT</auth-method>
        <realm-name>Client Cert Users-only Area</realm-name>
    </login-config>
    <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>
posted @ 2017-02-14 11:58  肆尾葱  阅读(329)  评论(0编辑  收藏  举报