考虑使用正在实施didReceiveAuthenticationChallenge
的NSURLConnectionDataDelegate。
如果代理人收到身份验证质询并且protectSpace为NSURLAuthenticationMethodClientCertificate
,而不是提供一个,则只需执行以下操作。
[challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
服务器有两个选项。
如果它想要证书,它可以简单地终止连接,iOS NSURLConnection将引发错误NSURLErrorClientCertificateRequired
。
如果服务器想要继续,它可以通过不切断连接来执行此操作,并且委托应该再次接听didReceiveAuthenticationChallenge
。
我无法具体验证这一假设。我想iOS NSURL堆栈也可能会妨碍它。但是我正在寻找关于这个假设的某种验证。
答案 0 :(得分:0)
您必须在服务器上安装SSL证书,并在尝试访问API时。然后你应该使用https而不是http。希望这能帮到你......