【发布时间】:2014-01-21 21:27:33
【问题描述】:
我正在开发一个供企业使用的 iOS 应用程序。我们的应用程序将与可能配置有部署我们服务器软件的公司生成的自签名证书的服务器通信。
我们的 iOS 应用程序使用允许 SSL 固定的 AFNetworking。但我得到的印象是,这只固定 SSL 证书,这些证书在创建时作为应用程序包的一部分包含在内。它不允许您使用 iOS 设备稍后知道的证书。
我正在寻找一种方法让客户推出(可能通过配置文件)自签名证书,以便我们的应用程序可以安全地与服务器通信。有办法吗?还是我需要跳过 AFNetworking 直接使用 Foundation 类。
我也欢迎任何 cmet 帮助澄清这个问题。
更新:对于可能像我一样困惑的其他人。虽然我理解 pinning 是一个重要的话题,但我把它与我的首要任务混淆了:从我们的原型应用程序中删除对无效证书的支持。我想要的是一种让用户明确信任自签名证书的方法。这很简单。只需将其作为配置文件添加到您的 iOS 设备即可。但我也被我们在开发中使用的自签名证书不太正确,因此 iOS 不会信任它们这一事实绊倒了我。请参阅http://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/,了解如何生成“良好”的自签名证书。现在我已经拥有了受信任的自签名证书,我将跟进如何使用 pinning。
【问题讨论】:
-
您使用的是 AFNetworking 1 还是 2?
-
我使用的是版本 2。
标签: ios ssl afnetworking-2 pinning