tomcat 配置https双向验证

  用文字来记录一下配置https的流程吧,免得下次在来配置时再来为难我这少的可怜的记忆力呢。 首先我们是需要用到jdk自带的工具 "keytool" 来生成证书,证书分为客户端证书和服务器证书,如果是单项验证,用 keytool 生成一个服务器证书即可。下文将会讲解他们各自的特点和用法。

  生成服务证书:

keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\home\tomcat.keystore -validity 36500

 ,这条语句会在D:\home路径生成一个服务器的证书。

 

  我们要配置双向验证,所以也要生成客户端证书 :

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\home\mykey.p12

 ,这样的命令会在 d:\home 生成一个客户端证书,我在客户端将客户端证书导入到“个人”。

 

  我虽然生成证书,但还没有让client和server 互相信任。

让服务器信任客户端,先把.p12的格式转化成.cer格式:

keytool -export -alias mykey -keystore D:\home\mykey.p12 -storetype PKCS12 -storepass 证书的密码 -rfc -file D:\home\mykey.cer

 再将客户端证书导入到服务器可信耐:

keytool -import -v -file D:\home\mykey.cer -keystore D:\home\tomcat.keystore

让客户端信任服务器端证书,首先我们需要把生成的服务器端证书转化成客户端可以导入的格式:

keytool -keystore D:\home\tomcat.keystore -export -alias tomcat -file D:\home\tomcat.cer

 次命名将tomcat.keystore 导出为.cer格式,将.cer的格式导入客户端即可。

   到此,证书的生成完成。该配置tomcat的咯:

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

属性简要说明:

clientAuth:设置是否双向验证

keystoreFile:服务器证书文件路径

keystorePass:证书密码

truststoreFile:客户端证书的根证书

truststorePass:根证书密码

  启动服务器,ie就可以用 https协议访问服务器咯,ie警告我们的证书不安全,我们可以在ie设置-->高级 里面,将 “对证书地址不匹配发出警告” 取消掉既可以忽略警告咯 。

  最后我在用户https中访问http资源被浏览器拦截咯,我们在ie 设置-->安全 “显示混合内容” 选择 “启用”。firefox 操作为,about:config -->将security.mixed_content.block_active_content;true ,就可以正常访问咯。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值