如果客户端未在iOS中提供客户端证书,SSL连接是否可以成功?

时间:2016-05-17 16:00:05

标签: ios https client-certificates nsurlconnectiondelegate

考虑使用正在实施didReceiveAuthenticationChallenge的NSURLConnectionDataDelegate。

如果代理人收到身份验证质询并且protectSpace为NSURLAuthenticationMethodClientCertificate,而不是提供一个,则只需执行以下操作。

[challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];

服务器有两个选项。

  1. 如果它想要证书,它可以简单地终止连接,iOS NSURLConnection将引发错误NSURLErrorClientCertificateRequired

  2. 如果服务器想要继续,它可以通过不切断连接来执行此操作,并且委托应该再次接听didReceiveAuthenticationChallenge

  3. 我无法具体验证这一假设。我想iOS NSURL堆栈也可能会妨碍它。但是我正在寻找关于这个假设的某种验证。

1 个答案:

答案 0 :(得分:0)

您必须在服务器上安装SSL证书,并在尝试访问API时。然后你应该使用https而不是http。希望这能帮到你......