私はいくつかの iOS アプリを開発しており、非常に機密性の高いデータをダウンロード/アップロードしています。私はその要求を行うために AFNetworking を使用していますが、私の質問は簡単です。すべてのアプリで 3 つの異なる証明書しか取得できません。これら 3 つの証明書のみを受け入れるように AFNetworking のレイヤーをカスタマイズできますか?
この操作の目的は、「Man To the Middle」攻撃を回避し、HTTP 交換中の追加情報の注入や取得を回避することです。
私はいくつかの iOS アプリを開発しており、非常に機密性の高いデータをダウンロード/アップロードしています。私はその要求を行うために AFNetworking を使用していますが、私の質問は簡単です。すべてのアプリで 3 つの異なる証明書しか取得できません。これら 3 つの証明書のみを受け入れるように AFNetworking のレイヤーをカスタマイズできますか?
この操作の目的は、「Man To the Middle」攻撃を回避し、HTTP 交換中の追加情報の注入や取得を回避することです。
すべての AFNetworking 操作は、 というブロックを定義する AFURLConnectionOperation から継承しますauthenticationChallenge。操作でこのブロックを設定すると、AFNetworking が NSURLConnectionDelegate メソッドにどのように応答するかが定義されますconnection:didReceiveAuthenticationChallenge:。具体的には、検査する必要がありますchallenge.proposedCredential。
すべての操作でこのブロックを設定したくない場合は、使用している操作の種類 (AFJSONRequestOperation など) をサブクラス化し、必要なconnection:
willSendRequestForAuthenticationChallenge:動作でオーバーライドすることもできます。