我们使用 Xamarin 开发了应用程序 iOS 应用程序。
它在我的测试设备中运行良好。我的客户在使用蜂窝网络连接 时遇到了 SSL 错误问题。
当他使用Wifi 连接 时,同一应用程序运行良好。
我正在使用现代 HTTP 客户端建立 Web 连接以使用 native API。
- 我还在 IPV6 环境中测试了应用程序,它也运行良好。
- App 传输安全设置没有问题,我已经验证过了。 [如果这里出现错误,那么无论连接类型如何,它都应该一直出现。]
问题出在远程端,所以我没有太多机会尝试各种设置、调试并查看导致此问题的原因。 有任何线索或方向都会非常有帮助。
注意:使用第三方在线工具,我们已验证我们的服务器符合 ATS 标准并使用 TLS 1.2
堆栈跟踪
System.Net.WebException: An SSL error has occurred and a secure connection to the server cannot be made. ---> Foundation.NSErrorException: Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSErrorFailingURLStringKey=MYURL, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3,
_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <5C93BDAD-10CE-478B-9D72-5AA02AA84617>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <5C93BDAD-10CE-478B-9D72-5AA02AA84617>.<1>"
), NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., NSErrorFailingURLKey=MYURL, NSUnderlyingError=0x282ea41e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)"
UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9816, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9816}}, _kCFStreamErrorCodeKey=-9816}
更新 我们已经更新了服务器实例,这使得这个问题是随机的,而不是一直产生。删除了 HTTP 客户端,但问题仍然存在。我们既没有采取措施或情况来一直生产它,也没有修复它。
最佳答案
“我正在使用现代 HTTP 客户端建立 Web 连接以使用 native API。”
这可能是您遇到问题的原因。这是几年前的真实情况。但是,Xamarin HttpClient 已经使用 native API(您可以在项目属性中进行设置),而现代 HTTP 客户端多年未更新,现在可能存在一些问题。
关于ios - 通过蜂窝连接连接时出现 SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56225768/