1

SSL トラフィック復号化、iOS アプリ、および FiddlerCore の有名なトリオは、私が到達しようとしている聖杯です。

これまでのところ私のやり直しである警告:

1) 証明書は iOS デバイスによって信頼されている必要があります。そうでない場合、たとえば Safari では続行するように求められますが、サードパーティのアプリではこれが行われません。

2) 証明書は、iOS および Android プラグイン用の CertMaker を使用して生成する必要があります。つまり、バンドルされている 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 証明書についての私の理解はひどいものなので、少なくとも誰かが私が間違ったツリーを吠えていると言ってくれることを願っています。誰かが私がなりたい場所にたどり着くために何ができるかを知っていれば、それは非常にありがたいです. 皆さん、ありがとうございました!

4

1 に答える 1

2

このoDefaultClientCertificateオブジェクトは、FiddlerCore がクライアント証明書ベースの認証のためにそのような証明書を要求する場合にサーバーに送信しようとする証明書を参照します。そのオブジェクトは、Fiddler が iOSクライアントに送信するサーバー証明書とは関係ありません。

このシナリオを機能させるには、FiddlerCore 用の CertMaker プラグインを使用する必要があります。幸いなことに、FiddlerCore の次のビルドには、そのプラグインの互換性のあるビルドが付属しています。

于 2013-08-01T19:33:36.703 に答える