【问题标题】:Decrypting SSL traffic from an iOS app using FiddlerCore使用 FiddlerCore 解密来自 iOS 应用程序的 SSL 流量
【发布时间】:2013-08-02 16:27:48
【问题描述】:

SSL 流量解密、iOS 应用程序和 FiddlerCore 的名义三重奏是我想要达到的圣杯。

到目前为止,我正在撤消的警告:

1) 证书必须被iOS设备信任;如果不是,例如 Safari 会提示您继续,但第三方应用程序不会这样做。

2) 必须使用CertMaker for iOS and Android plugin 生成证书——也就是说,捆绑的 makecert.exe 会生成 iOS 不信任的证书。

我已经实现了 SSL 解密部分和 iOS 应用程序部分,但仅来自 Fiddler 本身(不是通过 FiddlerCore 以编程方式),因为它允许您使用插件来执行证书职责;你不能使用 FiddlerCore 的插件。

我尝试的解决方案是手动指定 fiddlercore 使用的证书,并将其指向之前由 Fiddler 和 ios Certificate Maker 插件生成的 .cer。在代码中它看起来像这样:

FiddlerApplication.oDefaultClientCertificate = X509Certificate.CreateFromCertFile(@"FiddlerRoot.cer");
FiddlerApplication.Startup(8877, FiddlerCoreStartupFlags.DecryptSSL | FiddlerCoreStartupFlags.AllowRemoteClients | ~FiddlerCoreStartupFlags.RegisterAsSystemProxy);

尽管如此,我还是不能让它飞起来——它仍然会尝试使用 makecert.exe,据我所知,它只是忽略了我手动指定的证书;我对 SSL 证书的理解很糟糕,所以我希望至少有人能告诉我我在叫错树。如果有人知道我可以做些什么来到达我想去的地方,那将不胜感激。谢谢大家!

【问题讨论】:

    标签: ssl https fiddlercore


    【解决方案1】:

    oDefaultClientCertificate 对象指的是 FiddlerCore 将尝试发送服务器的证书,如果它需要这样的证书以进行基于客户端证书的身份验证。该对象与 Fiddler 发送给 iOS client 的服务器证书无关。

    为了使此方案正常工作,您需要使用 FiddlerCore 的 CertMaker 插件。幸运的是,FiddlerCore 的下一个版本将附带该插件的兼容版本。

    【讨论】:

    • 从马嘴里!谢谢劳伦斯先生——我已经开悟了。问我们什么时候可以看到下一个版本,我是否越界了?
    • 关注 Fiddler 论坛;应该会在接下来的几天内出来。谢谢!
    • 这是一种享受!只需确保适当的 DLL 与我的应用程序位于同一位置,而 makecert.exe 不在。谢谢罗先生 :)
    猜你喜欢
    • 2019-12-09
    • 2018-05-02
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 2017-06-26
    • 2013-05-27
    相关资源
    最近更新 更多