Java 利用 tomcat 服务器配置https

利用 tomcat 服务器配置https

1. 为服务器生成证书

keytool -genkeypair -v -alias tomcat -keyalg RSA -keystore .\https\tomcat.keystore -validity 36500

2. 为客户端生成证书

keytool -genkeypair -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore .\https\mykey.p12

3. 让服务器信任客户端证书

keytool -export -alias mykey -keystore .\https\mykey.p12 -    storetype PKCS12 -storepass 123456 -rfc -file .\https\mykey.cer

4. 将该文件导入到服务器的证书库,添加为一个信任证书

keytool -import -v -file .\https\mykey.cer -keystore .\https\tomcat.keystore

5. 让客户端信任服务器证书

 keytool -keystore .\https\tomcat.keystore -export -alias tomcat -file .\https\tomcat.cer

6. 配置 Tomcat 服务器

打开 Tomcat 目录下的 /conf/server.xml ,找到 Connector port=“8443” 配置段,修改为如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"  scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="C:\\Users\\springer\\Desktop\\https\\tomcat.keystore" keystorePass="123456"
truststoreFile="C:\\Users\\springer\\Desktop\\https\\tomcat.keystore" truststorePass="123456"/>

(tomcat 要与生成的服务端证书名一致)

属性说明
clientAuth: 设置是否双向验证,默认为 false,设置为 true 代表双向验证

keystoreFile: 服务器证书文件路径

keystorePass: 服务器证书密钥

truststoreFile: 用来验证客户端证书的授权书,此例中就是服务器证书

truststorePass: 根证书密钥

7. 浏览器信任.p12 证书

Google Chrome 为例:设置 -> 高级 -> 管理证书 -> 导入 .p12 文件

    原文作者:SaltFish
    原文地址: https://segmentfault.com/a/1190000020050946
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞