JDK制作自签名证书,实现双向认证,解决谷歌浏览器证书无效问题,亲测有效
本文将介绍如何使用JDK8和tomcat8.5实现使用自签名证书完成TSL双向认证,并解决谷歌浏览器提示证书无效的问题。
- 第一步,制作服务端密钥库
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 -ext SAN=dns:localhost,ip:127.0.0.1
SAN:这里填写的是域名
IP:填写是IP
SAN和IP是解决谷歌浏览器证书无效的关键。
- 第二步 制作客户端密钥库
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\mykey.p12
- 第三步 客户端证书导入服务端密钥库,由于不能直接将p12导入,需要先从客户端密钥库导出证书,再将导出的证书导入服务端密钥库
keytool -export -alias mykey -keystore D:\mykey.p12 -storetype PKCS12 -storepass 123456 -rfc -file D:\mykey.cer
keytool -import -v -file D:\mykey.cer -keystore D:\tomcat.keystore
- 第四步 导出服务端密钥库证书
keytool -keystore D:\tomcat.keystore -export -alias tomcat -file D:\tomcat.cer
- 第五步 配置tomcat
找到conf目录下的server.xml文件,增加如下配置
<Connector port= “8443” protocol=“HTTP/1.1” SSLEnabled = “true” maxThreads=“150” scheme=“https” secure= “true”
clientAuth = "true" sslProtocol="TLS"
keystoreFile= "D:\tomcat.keystore"
keystorePass = "123456"
truststoreFile="D:\tomcat.keystore"
truststorePass= "123456" />
- 第六步 安装客户端密钥库
双击mykey.p12文件,如下图所示操作
此时去访问https://127.0.0.1:8443/或者https://localhost:8443/效果如下图
- 第七步 安装服务端证书
双击tomcat.cer,操作步骤如下
此时访问https://127.0.0.1:8443/或者https://localhost:8443/,效果如下