Ios 使用自定义SSL验证的NSURLConnection

Ios 使用自定义SSL验证的NSURLConnection,ios,ssl,nsurlconnection,Ios,Ssl,Nsurlconnection,我有一个关于iOS上扩展SSL证书验证的问题。我的代码如下所示: - (void) validateAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { if (!someCustomCheck()) { // I do some custom check here [paramChallenge.sender cancelAuthenticationChallenge:challenge

我有一个关于iOS上扩展SSL证书验证的问题。我的代码如下所示:

- (void) validateAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {

    if (!someCustomCheck()) { // I do some custom check here
        [paramChallenge.sender cancelAuthenticationChallenge:challenge];
    }

    NSURLCredential *credential = [NSURLCredential credentialForTrust:[challenge protectionSpace].serverTrust];
    if (credential) {
        [challenge.sender useCredential:credential forAuthenticationChallenge:challenge];
    }
    else {
        [challenge.sender cancelAuthenticationChallenge:challenge];
    }
}
测试表明,此时SSL证书的正常iOS检查没有发生。我是否可以假设,如果我更换该行:

[challenge.sender useCredential:credential forAuthenticationChallenge:challenge];

所以在我的自定义检查之后,我仍然会进行默认的系统SSL证书检查

从文档中可以看出这是有道理的,但我看到的许多示例通常会进行一些自定义验证,然后调用

[challenge.sender useCredential:credential forAuthenticationChallenge:challenge];
谢谢

[challenge.sender useCredential:credential forAuthenticationChallenge:challenge];