我正在开发一些iOS应用程序,我正在下载/上传非常敏感的数据。 我正在使用AFNetworking来做这些请求,我的问题很简单: 我在所有应用程序中只获得了3个不同的证书,我可以自定义AFNetworking的图层以仅接受这3个证书吗?
此操作的目的是避免“Man to the Middle”攻击,从而避免在HTTP交换期间注入和/或检索任何其他信息。
答案 0 :(得分:0)
所有AFNetworking操作都继承自AFURLConnectionOperation,后者定义了一个名为authenticationChallenge
的块。在您的操作上设置此块将定义AFNetworking如何响应NSURLConnectionDelegate方法connection:didReceiveAuthenticationChallenge:
。具体来说,您需要检查challenge.proposedCredential
。
如果您不想在每个操作上设置此块,您也可以子类化您正在使用的操作类型(例如AFJSONRequestOperation),并使用您想要的行为覆盖connection:
willSendRequestForAuthenticationChallenge:
。 / p>