gpt4 book ai didi

ios - NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 错误不是在所有 iPhone 上都有吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:35 26 4
gpt4 key购买 nike

我的一个应用程序无法连接到它的 API 服务器。记录的原因是 NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)。到目前为止,还没有找到原因或原因,但最令人沮丧的是,这个问题出现在我的一些测试设备上。在其他方面一切都很好。我正在使用 NSURLConnection:sendSynchronousRequest:returningResponse:error:,但经过一些重构并尝试使用 NSURLSessionDataTask:dataTaskWithRequest:completionHandler: 后,问题仍然存在。还添加了

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler
{
completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]);
}

还是什么都没有.....

附注尽管我的第一个问题与许多其他问题重复,但我主要担心的是为什么这个错误只出现在我的一个测试设备上(在设置 -> 常规 -> 重置之后它也可以正常工作,但是如何告诉苹果“请重置你的测试装置”?)。另一个工作得很好。

最佳答案

错误 -9813 是 errSSLNoRootCert。这意味着服务器提供的证书链没有到达受信任的根( anchor )证书,通常是由于链中缺少证书造成的。

一台设备与另一台设备之间存在差异的原因可能是因为某些设备能够成功获取丢失的证书(OCSP?),因为某些设备具有额外的受信任 anchor 证书,这些证书无论出于何种原因在其他设备上都不存在,或者因为链中的某些证书​​是使用 iOS 9 不再接受的 key 签名算法签名的,因此被忽略。

我建议您联系您的 TLS 证书供应商并获取 TLS 链文件的新副本,更新服务器上的链文件,重新启动服务器,然后查看问题是否消失。

如果这没有帮助,请使用我们可以测试的 URL 以及运行 openssl s_client -connect yourhostname:443 的结果来编辑您的问题针对有问题的主机。

这里有更多提示:

关于ios - NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813) 错误不是在所有 iPhone 上都有吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38124385/

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