使用AFNetworking的自定义信任存储

时间:2013-08-30 10:06:20

标签: ios certificate afnetworking truststore

我正在开发一些iOS应用程序,我正在下载/上传非常敏感的数据。 我正在使用AFNetworking来做这些请求,我的问题很简单: 我在所有应用程序中只获得了3个不同的证书,我可以自定义AFNetworking的图层以仅接受这3个证书吗?

此操作的目的是避免“Man to the Middle”攻击,从而避免在HTTP交换期间注入和/或检索任何其他信息。

1 个答案:

答案 0 :(得分:0)

所有AFNetworking操作都继承自AFURLConnectionOperation,后者定义了一个名为authenticationChallenge的块。在您的操作上设置此块将定义AFNetworking如何响应NSURLConnectionDelegate方法connection:didReceiveAuthenticationChallenge:。具体来说,您需要检查challenge.proposedCredential

如果您不想在每个操作上设置此块,您也可以子类化您正在使用的操作类型(例如AFJSONRequestOperation),并使用您想要的行为覆盖connection: willSendRequestForAuthenticationChallenge:。 / p>