【ssl认证、证书】Wireshark抓包分析

相关文章:
//-----------Java SSL begin----------------------
【ssl认证、证书】SSL双向认证和SSL单向认证的区别(示意图)
【ssl认证、证书】java中的ssl语法API说明(SSLContext)、与keytool 工具的联系
【ssl认证、证书】SSL双向认证java实战、keytool创建证书
【ssl认证、证书】Wireshark抓包分析
【ssl认证、证书】 查看keystore文件内容
//------------Java SSL end--------------------------

//-----------下面的是CA证书和openssl相关的知识--------------
【ssl认证、证书】TLS/SSL双向认证概念、openssl genrsa示例
【ssl认证、证书】openssl genrsa 命令详解
【ssl认证、证书】SSL 证书基本概念、证书格式、openssl和keytool的区别

代码示例

参见 【ssl认证、证书】SSL双向认证java实战、keytool创建证书

完整的流程:

在这里插入图片描述

TLS/SSL双向认证握手过程分析

(1)client_hello
支持的协议版本,比如TLS 1.0;
支持的加密算法(Cipher Specs);
客户端生成的随机数1(Challenge),稍后用于生成"对话密钥"。
在这里插入图片描述
(2)server_hello
确认使用的协议版本;
服务器生成的随机数2,稍后用于生成"对话密钥";
确认使用的加密算法; 算法解释: HTTPS背后的加密算法
向客户端提供自己的证书;
请求客服端的证书。

在这里插入图片描述
(3)客户端发生给服务端
客户端证书发送给服务端;
client_key_exchange。

在这里插入图片描述

(4)客户端发生给服务端
客户端证书校验;
change_cipher_spec:客户端通知服务器后续的通信都采用协商的通信密钥和加密算法进行加密通信。

在这里插入图片描述
(5)服务端向客户端
change_cipher_spec: 验证通过之后,服务器同样发送 change_cipher_spec 以告知客户端后续的通信都采用协商的密钥与算法进行加密通信;
encrypted_handshake_message:服务器也结合所有当前的通信参数信息生成一段数据并采用协商密钥 session secret 与算法加密并发送到客户端;
在这里插入图片描述
(6)加密通信
开始使用协商密钥与算法进行加密通信。

在这里插入图片描述

参考

SSL/TSL双向认证过程与Wireshark抓包分析

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值