AFNetworking - SSL - .cer文件在服务器端添加了400错误

时间:2014-05-20 16:12:41

标签: ios ssl afnetworking

我正在开发iOS应用,我们希望通过SSL保护我们的私有API。

服务器端的一切都很好,我们的Android应用已经连接到HTTPS。 在iOS上,另一方面,我被卡住了。

我正在使用AFNetworking,所以:

  • 正如this topic所解释的那样,我只是将.cer文件添加到我的包中
  • 由于我们使用自签名证书,我还添加了:

_

AFHTTPRequestOperationManager *requestManager = [AFHTTPRequestOperationManager manager];

requestManager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];

requestManager.securityPolicy.allowInvalidCertificates = YES;

AFNetworking找到了证书,但是我们的服务器拒绝了身份验证,并返回了丑陋的400.

由于我是SSL的新手,因此非常感谢有关如何找到失败位置的任何提示。我们可以记录服务器端或类似的东西来“调查”吗?

1 个答案:

答案 0 :(得分:2)

我建议不要使用您正在使用的固定模式。它不像" setDefaultSSLPinningMode:AFSSLPinningModePublicKey"从服务器获取证书。

通过这种方式,您可以将有效的.cer文件放入应用程序包中,然后在将来,只要您使用相同的公钥和私钥(.key文件)续订证书,就可以赢得&# 39; t必须更新你的应用程序。

考虑这个选项。如果您尝试并保持设置相同以允许无效证书,您应该能够使其正常工作。当你不允许不受信任的证书时,事情变得有点棘手。