5

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

4

1 回答 1

0

尝试使用

NSString * alertMessage = [challenge.error localizedFailureReason];

获取人类可读的错误信息。

请参阅NSErrorNSURLAuthenticationChallenge的文档。

于 2014-03-18T13:04:14.587 回答