java + https + tomcat 双向认证总结

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191114222256184.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2tsY2Jsbg==,size_16,color_FFFFFF,t_70在这里插入图片描述证书生成方式一,代码生成证书
在这里插入图片描述在这里插入图片描述在这里插入图片描述证书生成方式二,根证书ca生成证书
服务器认证客户端:
服务器端通过根CA给客户端颁发客户端证书,在制作客户端证书时加上和机器相关的信息就可以保证在特定的时候某个帐号只能在这台机器上和服务器交换报文,比如我们用支付宝时必须下载安装数字证书时,可以命名这本证书叫"某某的笔记本"或者是"公司电脑"之类的,就是支付宝给用户颁发证书,只能在这台机器上用,你换了机器就必须重新申请。建立SSL连接时,先是服务器将自己的服务器证书发给客户端,验证通过后,客户端就把自己的客户端证书发给服务器进行验证,如果通过,再进行后面的处理。
客户端安装服务器根证书ca.crt到客户端信任证书库中,服务器端安装服务器根证书ca.crt到服务器信任证书库中。
SSL握手时,服务器先将服务器证书server.p12发给客户端,客户端会到客户端信任证书库中进行验证,因为server.p12是根证书CA颁发的,所以验证通过;然后客户端将客户端证书client.p12发给服务器,同理因为client.p12是根证书CA颁发的,所以验证通过。

上述两种方式中公钥已经提前放到对方的信任库中,代表各自已经提前获取到了对方的公钥。
客户端:发送信任库(trustClient.key)+私钥(客户端证书client.key)到服务端,分别验证服务端的私钥(服务端证书serve.key)和被服务端的信任库(trustServe.key)验证。
私钥相当于私有的证书库,公钥相当于打开私有证书库中任何证书的万能钥匙,信任库收集来自其他证书库的万能钥匙

参考:https://blog.csdn.net/qq_34004946/article/details/89478415

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值