我正在使用Delphi,并使用Indy组件进行SSL连接。我正在运行Fiddler2,并且能够查看SSL流量,但是由于Indy出现一些错误,因此不得不将Indy升级到较新的版本。为了Indy和OpenSSL之间的兼容性,我还升级到了OpenSSL1.0.2a。升级之后,似乎它已切换到SSL3.3较以前使用的协议更新的协议。我安装了Fiddler4.5,.NET Framework 4.5,并启用了http://blogs.telerik.com/fiddler/posts/13-02-11/fiddler-and-modern-tls-versions中所述的TLS1.2。我也将Fiddler的证书重新导入了我的受信任的根证书,但是我仍然无法解密SSL通信。
以下是用提琴手写的:
这是一个CONNECT隧道,加密的HTTPS流量通过该隧道传输。
Fiddler的HTTPS解密功能已启用,但是此特定隧道配置为不解密。会话标志“ X-No-Decrypt”设置为:“ PeekYieldedUnknownProtocol”。
找到了与SSLv3兼容的ServerHello握手。 Fiddler提取了以下参数。
版本:3.3(TLS / 1.2)
我试图在Indy和OpenSSL源中搜索字符串“ X-No-Decrypt”,但是似乎没有在任何地方包含它。根据提琴手的文档,如果您不希望提琴手解密此特定会话,则似乎可以包含一个字符串,但是我不知道此字符串是从何而来的。
有什么建议么?
谢谢/ Rune
最佳答案
文本PeekYieldedUnknownProtocol
表示当Fiddler查看客户端在CONNECT隧道内发送的第一个字节时,这些字节不是HTTPS握手的字节。为了避免破坏通过隧道的任何类型的流量,Fiddler只是在不解释字节的情况下来回传递字节。
要对此进行进一步调试,最好的选择是使用Fiddler中的“帮助”>“发送反馈”与我联系。如果您可以向我发送包含流量的SAZ文件(“文件”>“保存会话存档”),那么我可以进一步调查此问题。
如果您不能共享SAZ文件,请至少右键单击“ Web会话”列表中的“连接”,然后选择“属性”。用x-CONNECT-Peek
标志的值更新您的问题。
关于ssl - 使用Fiddler4解密SSL3.3(SSL3 TLS1.2),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29818013/