gpt4 book ai didi

iOS:在 AuthenticationChallenge 失败时触发 NSURLErrorServerCertificateUntrusted 而不是 NSURLErrorCancelled

转载 作者:行者123 更新时间:2023-11-28 23:31:45 27 4
gpt4 key购买 nike

我正在通过 urlSessionDelegate 以自定义方式处理服务器信任身份验证质询(将服务器信任的公钥与哈希本地版本进行比较) ,类似于这里的做法: How do I accept a self-signed SSL certificate using iOS 7's NSURLSession and its family of delegate methods for development purposes?

documentation 中所述,如果我想自己使服务器信任身份验证失败,我需要取消质询。执行此操作时,我的数据任务将完成并显示 NSURLErrorCancelled。我有一些错误处理类,它们查看数据任务返回的结果 NSURLError ,如果我得到 NSURLErrorServerCertificateUntrusted ,对我来说会更干净。

有办法实现吗?或者只有在自动处理身份验证而不使用委托(delegate)方法时才会转发这些服务器错误?

最佳答案

正常处理有问题的证书是否会因该错误而失败?

如果是这样,您可以在这种情况下使用 NSURLSessionAuthChallengePerformDefaultHandling。

如果没有,我认为唯一的方法是对挑战发送者进行修改,这是非常不鼓励的,尽管如果您调用它然后调用正确的完成处理程序,这可能不会是灾难性的。不过,您很有可能会收到两次回调。我从来没有尝试过这个。

我的建议是向 Apple 提交错误,要求使用适当的 API 来传递 NSError 以及取消。

关于iOS:在 AuthenticationChallenge 失败时触发 NSURLErrorServerCertificateUntrusted 而不是 NSURLErrorCancelled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56225350/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com