我正在使用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 协议参考和NSURLAuthenticationChallengeSender 协议参考没有提到如何这样做。