通过蜂窝连接进行连接时发生SSL错误

时间:2019-05-20 17:40:15

标签: ios xamarin.ios

我们已经使用Xamarin开发了iOS应用app。

在我的测试设备中运行良好。我的客户端在使用蜂窝连接时遇到SSL错误问题。 enter image description here

当他使用 Wifi连接时,同一应用运行良好。

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

  • 我也已经在IPV6环境中测试了应用程序,并且运行正常。
  • 我已经验证了应用传输安全性的设置。 [如果错误出现在这里,那么不管连接类型如何,它都会一直出现。]

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

注意:使用第三方在线工具,我们已经验证我们的服务器符合ATS并使用TLS 1.2

Stacktrace

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}

2 个答案:

答案 0 :(得分:0)

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

这可能是导致您出现问题的原因。几年前就是这样。但是Xamarin HttpClient已经使用了本机API(可以在项目属性中设置),而Modern HTTP客户端已经多年没有更新,并且现在可能会出现一些问题。

答案 1 :(得分:0)

连接是否一直失败?如果是后者,那么底部可能会有所帮助。

我不确定是否是这种情况,可能值得检查。但是,我们在某些蜂窝提供商上也有类似的问题。发生的事情是SIM卡中没有更多数据(达到了限制),因此提供商最初会允许连接,但会在中间断开连接。这将显示为SSL错误。

在我们的案例中,我们无法做任何事情,因为它是Cellular Provider的特定实现。