【发布时间】:2016-08-16 07:05:53
【问题描述】:
我有使用 openssl 库手动剖析 ssl/http 流量的工具。它在大多数情况下都可以正常工作,但是当客户端/服务器使用 Extended Master Secret 扩展时会失败。
在握手的最后阶段发生了失败,在该阶段执行了测试加密数据的验证。
据我了解,为了使此扩展程序正常工作,我需要使用特定的 TLS 字段(客户端问候、服务器问候、密钥交换)正确填充握手缓冲区,然后应根据握手缓冲区的散列生成主密钥。
不幸的是,它不适合我。
所以我的问题是应该对哪些 tls 打包进行散列以生成正确的主密钥?
将不胜感激任何 cmets。 谢谢。
PS:我从 github 下载了 openssl 的实验版本,实现了这个功能。
openssl s_server/s_client 使用 corespond 扩展,我可以在 Wireshark 中看到它,并且能够使用服务器 pem 文件解码流量。
【问题讨论】:
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Information Security Stack Exchange 会是一个更好的提问地方。还有Where do I post questions about Dev Ops?.
-
openssl 是一个编程加密框架,这是一个问题,关于在调用 tls1_generate_master_secret 函数之前我需要调用哪个函数(以及以何种顺序)。为什么这个问题不是关于开发的?谢谢。
-
该问题不包含代码引用,甚至没有来自您的特殊工具或 OpenSSL 的一行。这与编程无关:"...我的问题 - 应该对哪些 tls 打包进行散列以生成正确的主密钥"。您应该将其带到为您的问题设计的网站。或者,把它留在这里,得不到答案。适合自己。