ios - 通过蜂窝连接连接时出现 SSL 错误

标签 ios xamarin.ios

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

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

当他使用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/

相关文章:

ios - MonoTouch : DataProtection: how to programmatically find out, 密码锁是否设置?

ios - 动态改变tableView单元格高度

ios - NSDictionary到多维数组iOS?

ios - 如何在 iOS 的 UIView 上应用模糊效果?

objective-c - 将数组存储到 SQLite 数据库中

ios - Xamarin Firebase iOS 11 未生成 FCM token

android - 使用 Flex 创建 iPhone/Android 应用程序的缺点

c# - 在 Monotouch 中正确使用 XMLRootAttribute

xamarin - ReactiveUI Xamarin iOS 路由

ios - MonoTouch.Dialog UITableView 没有边距