gpt4 book ai didi

google-chrome - 如何调试 TLS 实现

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:45 27 4
gpt4 key购买 nike

我正在编写一个 TLS 实现并且已经停滞在服务器完成消息数周了。 Openssl s_client 报错:

5820:error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac:.\ssl \s3_pkt.c:483:

这不是很有帮助,因为我无法追踪到 MAC 或加密过程的任何错误。
Chrome 给出错误:

5820:error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac:.\ssl \s3_pkt.c:483:

而 Firefox 说:

Cannot communicate securely with peer: no common encryption algorithm(s). (Error code: ssl_error_no_cypher_overlap)

GNUtls-debug 更糟

error in the pull function.

我已将可疑列表缩小到错误的 des3/aes256 实现(到目前为止我尝试过的唯一实现)或错误的 MAC,但我不能确定,并且已经检查了感觉像上千次都没有发现任何邪恶的事情。
问题
有没有办法让任何浏览器给出完整和详细的 SSL 错误?我所需要的只是详细可靠的错误消息/调试日志。是否有任何工具可用于调试 TLS 实现?

最佳答案

我在同一条船上,将嵌入式 TLS 1.0 实现更新为 TLS 1.2。我发现 Wireshark 非常适合我进行故障排除。

进入协议(protocol)/SSL 的 Wireshark 首选项。从 RSA key 列表中,您可以为其提供您在服务器上使用的私钥(在我的例子中是一个 .pem 文件)的路径。使用 SSL 调试文件配置 Wireshark,它会转储它解密的每个数据包的扩展调试信息。

现在,我看到我的 AES256 解密被破坏了,因为 Wireshark 的解码方式与我的实现方式不同。早些时候,我在 AES128 连接上获得了正确的明文,并且不得不解决我的 MAC 计算的一些问题(或完成的消息,不记得是哪个)。没有 Wireshark,很难知道解密或 MAC 步骤是否失败。

关于google-chrome - 如何调试 TLS 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23957827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com