我正在使用Certificate and Public Key Pinning的OWASP样本。该示例使用random.org,random.org最近获得了新证书。这意味着connection:didReceiveAuthenticationChallenge:
失败了。这是预期和良好的:))
但是,失败显示为“NSURLErrorDomain”,代码为-1012。这不是很有用,用户将无法用它做任何有意义的事情:
提供类似于“警告:标识网站的公钥已更改......”的文本消息会更好。
另一个小问题:在connection:didFailWithError:
中,我无法判断-1012是否是由于钉扎失败或其他网络错误造成的。所以我想仅为证书失败提供消息,而不是其他-1012错误。
如何为[[challenge sender] cancelAuthenticationChallenge: challenge]
的调用提供“丰富的错误信息”(在connection:didReceiveAuthenticationChallenge:
失败时调用)。 NSURLConnectionDelegate Protocol Reference和NSURLAuthenticationChallengeSender Protocol Reference未提及如何执行此操作。
答案 0 :(得分:0)
尝试使用
NSString * alertMessage = [challenge.error localizedFailureReason];
获取人类可读的错误信息。