SSL流量解密、iOS应用程序和FiddlerCore的三大主题是我想要达到的圣杯。
到目前为止,我要做的是:
1)证书必须由iOS设备信任;如果不是,Safari将提示您继续使用,但是第三方应用程序不会这样做。
2)必须使用CertMaker for iOS和Android插件生成证书--也就是说,捆绑的makecert.exe生成iOS不信任的证书。
我已经实现了SSL解密部分和iOS应用程序部分,但只能从Fiddler本身(不是以编程方式使用FiddlerCore)实现,因为它允许您使用插件进行证书验证;您不能使用来自FiddlerCore的插件。
我尝试的解决方案是手动指定fiddlercore使用的证书,并将其指向Fiddler和ios证书制造者插件以前生成的.cer。在代码中,它将如下所示:
FiddlerApplication.oDefaultClientCertificate = X509Certificate.CreateFromCertFile(@"FiddlerRoot.cer");
FiddlerApplication.Startup(8877, FiddlerCoreStartupFlags.DecryptSSL | FiddlerCoreStartupFlags.AllowRemoteClients | ~FiddlerCoreStartupFlags.RegisterAsSystemProxy);尽管如此,我还是无法做到这一点--它仍然试图使用makecert.exe,据我所知,它只是忽略了我手动指定的证书;我对SSL证书的理解很糟糕,所以我希望至少有人能告诉我,我正在拨乱反正。如果有人知道我能做些什么才能到达我想去的地方,我会非常感激的。谢谢大家!
发布于 2013-08-01 19:33:36
oDefaultClientCertificate对象引用FiddlerCore将尝试发送到服务器的证书,如果它要求基于客户端证书的身份验证这样的证书。该对象与Fiddler发送给iOS客户端的服务器证书无关。
为了使这个场景工作,您需要为CertMaker使用FiddlerCore插件。幸运的是,FiddlerCore的下一个版本将附带该插件的兼容版本。
https://stackoverflow.com/questions/17999306
复制相似问题