我需要使用私有HTTPS API,并且客户端在主机上的证书不正确。 证书适用于www.clienthost.com,我正在使用api.clienthost.com。 因此,我需要通过HTTPS连接到api.clienthost.com,忽略不正确的证书,但仍然确保它是www.clienthost.com的,而不是其他的。 我找到了这个答案:How to use NSURLConnection to connect with SSL for an untrusted cert?它似乎解决了我的问题的一半,但我想弄清楚如何仍然检查主机证书是我期望看到的并且没有不同。
答案 0 :(得分:2)
尝试实现NSURLConnection的委托方法
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
然后以下内容将包含主机
[[challenge protectionSpace] host]
然后您可以通过调用以下
之一继续continueWithoutCredentialForAuthenticationChallenge:
cancelAuthenticationChallenge:
useCredential:forAuthenticationChallenge: