tls握手时,client如何请求证书有效性的?

https建立连接时,先tcp的3次握手,然后再tls的2次rtt交互;

在tls的serverhello过程中,server将服务器证书返回给client,再server没有配置ocsp stapling时,client 会去请求ca验证证书的有效性以及过期时间;

请问这个请求过程,如何通过wireshark抓包或者其他的抓包工具抓到这个请求

想看一下请求和返回信息;

求各位帮忙解答;

如果方便,最好贴个抓包的图看一下长什么样子,多谢。

阅读 5.9k
2 个回答

感谢您的回复

您的截图,我没看出来哪个是客户端验证证书的请求;

我目前的尝试:
serverhello返回certificate的时候,会在证书的Extension集合中找到下面两个Extension
1.id-pe-authorityInfoAccessSyntax
2.id-ce-cRlDistributionPoints

我认为第一个应该是证书的验证地址,里面确实包含了证书的验证地址,其url和我openssl获得的证书地址是同一个。
第二个应该是cRL的所有有效证书的地址。

接下来,我尝试ping出 id-pe-authorityInfoAccessSyntax 返回的ip地址,然后进行筛选,看看是否有和这个ip的交互。

如果有请求,是不是就可以确认client 去访问ca的有效性了;我个人目前是这样理解。

以下是抓包截图:

clipboard.png


我在我们三个返回的证书中,找到了这个地址

clipboard.png

然后ping 得到ip,并过滤
发现client确实发送了一个请求过去,我强烈怀疑这个就是client验证证书有效性的请求;

clipboard.png

多了一次tcp的3次握手,然后请求OCSP,最后OCSP响应;
目前我们没有针对OCSP stapling进行配置优化;

看到这个包,我觉得,应该是验证了刚刚第一段回复中的假设;

再没针对OCSP stapling优化时,确实相当影响性能。

您看下给这个贴图.

请求OCSP的包内容
clipboard.png

OCSP 响应certificate status protocol中status 为successful

clipboard.png

TLS 握手:

TLS 握手

OCSP 可以用 httpfox 看到。Wireshark 不太好找的样子……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏