SSL 流量解密、iOS 应用程序和 FiddlerCore 名义上的三重奏是我想要达到的圣杯。
到目前为止,我正在撤消的警告:
1)证书必须被iOS设备信任;如果不是,例如 Safari 会提示您继续,但第三方应用程序不会这样做。
2) 必须使用CertMaker for iOS 和 Android 插件生成证书 - 也就是说,捆绑的 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 证书的理解很糟糕,所以我希望至少有人能告诉我我在叫错树。如果有人知道我可以做些什么来到达我想去的地方,那将不胜感激。谢谢你们!