通过蜂窝连接进行连接时出现 SSL 错误

Idu*_*ool 5 xamarin.ios ios

我们使用 Xamarin 开发了 iOS 应用程序。

它在我的测试设备中运行良好。我的客户在使用蜂窝连接时遇到了 SSL 错误问题。 在此输入图像描述

当他使用Wifi 连接时,同一个应用程序运行得非常好。

我正在使用现代 HTTP 客户端建立 Web 连接以使用本机 API。

  • 我还在 IPV6 环境中测试了应用程序,它也运行良好。
  • 我已经验证应用程序传输安全设置没问题。[如果此处出现错误,那么无论连接类型如何,它都应该始终出现。]

问题出在远程端,因此我没有太多机会尝试各种设置、调试并查看导致此问题的原因。任何线索或方向都会非常有帮助。

注意:使用第三方在线工具,我们已验证我们的服务器符合 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}
Run Code Online (Sandbox Code Playgroud)

更新 我们已经更新了服务器实例,这使得这个问题是随机的,而不是一直产生的。删除了 HTTP 客户端,但问题仍然存在。我们既没有得到始终生产它的步骤或情况,也没有修复它。

Iva*_*čin 0

“我正在使用现代 HTTP 客户端建立 Web 连接以使用本机 API。”

这可能是导致您的问题的原因。这是几年前的真实情况。但是,Xamarin HttpClient 已经使用本机 API(您可以在项目属性中进行设置),而现代 HTTP 客户端已经多年没有更新,并且现在可能存在一些问题。