我正在尝试在我的网络服务器上调试 SSL 加密警报。我不确定问题出在哪里,但似乎一切正常,但我在 Wireshark 中看到许多我认为不应该存在的 TLSv1 加密警报。
TLSv1 警报协议(protocol) ( http://en.wikipedia.org/wiki/Transport_Layer_Security#Alert_protocol ) 提供错误代码指示错误,不幸的是,此代码已加密。
Wireshark 允许通过在 SSL 首选项页面中提供私钥(我有)来解密 SSL。然而,这对我不起作用,因为正在使用临时 RSA 设置 session (Sharkfest'09 http://sharkfest.wireshark.org/sharkfest.12/presentations/MB-1_SSL_Troubleshooting_with%20_Wireshark_Software.pdf 第 59 页)。
我想知道如何读取此警报代码。以下任何一项都会让我到达那里:
a) 让 Wireshark 使用 Ephemeral RSA 解密 SSL
b) 避免使用临时 RSA,以便 Wireshark 可以解密
c) 强制SSL使用空加密,这样我就可以只读代码来调试
最佳答案
b) Avoid using Ephemeral RSA so Wireshark can decrypt
如果您的 Web 服务器是 Apache,请尝试以下操作:
httpd.conf
SSLProtocol +all -SSLv2 -SSLv3
SSLCipherSuite -kEECDH:-kEDH:+kRSA:+HIGH:+MEDIUM:-LOW:-EXP
c) Force the SSL to use null encryption so I can just read the code to debug it
这可能有点棘手,但请尝试将 eNULL
移到列表的前面。 eNULL
可能会被客户端拒绝,但值得一试。我怀疑它会被拒绝,因为客户端不允许密码(或 aNULL
,就此而言)。
如果客户端确实有eNULL
,它仍然可能不会被使用。服务器通常尊重客户端的密码,因此除非客户端请求 eNull
,否则您将不得不在服务器配置上找到覆盖。
关于ssl - 如何读取 Ephemeral RSA 下的 SSL/TLS 加密警报代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881039/