域=NSURLErrorDomain 代码 1202
Posted
技术标签:
【中文标题】域=NSURLErrorDomain 代码 1202【英文标题】:Domain=NSURLErrorDomain Code 1202 【发布时间】:2017-05-04 11:01:30 【问题描述】:您好,我收到以下错误:
Error Domain=NSURLErrorDomain Code=-1202 \"此服务器的证书无效。您可能正在连接到伪装成“server-prod.name-cloud.com”的服务器,这可能会放入您的机密信息有风险。\" UserInfo=NSErrorFailingURLStringKey=https://server-prod.name-cloud.com /v3/project/session/926B9E6BE31B/, NSLocalizedRecoverySuggestion=你还是要连接到服务器吗?, _kCFStreamErrorDomainKey=3, NSErrorFailingURLKey=https://server-prod.name-cloud.com /v3/project/ session/926B9E6BE31B/, _kCFStreamErrorCodeKey=-9843, NSLocalizedDescription=此服务器的证书无效。您可能正在连接到伪装成“server-prod.name-cloud.com”的服务器,这可能会使您的机密信息面临风险。
我阅读了所有relevant docs,我们应用了“常见故障”部分中的所有要求。
更多细节:
仅从德国收到的错误(过去 2W 中的 4 次来自意大利除外) 内部无法重现 最终在大量重试后上传失败 这是在 ios 10.x.x 和 9.x.x 中收到的展位 我使用2016-08 SSL Security Policies 的亚马逊服务器, 所以根据apple应该没问题在我使用的应用中:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
注意 - 在生产中我总是使用 HTTP,我保留了 NSAllowsArbitraryLoads,因为一些海外测试人员可以将 rout 切换到 HTTP 进行调试。
【问题讨论】:
你读过(http://lithium3141.com/blog/2015/08/21/shipping-an-app-with-app-transport-security/ 【参考方案1】:适用于在本地使用服务器并需要让 iOS 模拟器信任证书的开发人员。请按照以下步骤操作:
通过从钥匙串导出证书来获取.cer
文件。您需要有效格式的证书文件,并且最容易通过
从钥匙串中导出。
将上述.cer
文件拖放到模拟器上。它应该会提示您安装“配置文件”。继续并按照说明进行安装。
适用于使用最新版本 XCode 和 iOS 模拟器的用户。你需要做最后一步。必须明确告知模拟器信任根 CA。转至General -> About -> Certificate Trust Settings -> "Enable Full Trust for Root Certificate" for your particular certificate
希望这可以避免一些人头疼!
【讨论】:
哇,你救了我的理智。 运行 ios 10.3 的模拟器上没有“为根证书启用完全信任”选项 就我而言,“为根证书启用完全信任”选项仅针对根证书显示。它不会出现在中间证书或叶证书中。 我按照上述步骤操作,但仍然出现错误。此解决方案是否仅适用于托管在与模拟器相同的机器上的服务器?基本上,对我来说,服务器驻留在另一台机器上,但在本地网络中,我可以通过传递 IP 地址访问它。由于某些原因,我无法在我的机器上运行服务器实例。 在第 3 步也卡住了。:( (最新的 Xcode) .. 我在“证书信任设置”列表中看不到我的证书,只能在常规 -> 配置文件中看到【参考方案2】:我花了很多时间来解决这个问题:
如果我们中的任何人遇到证书问题,。 这是因为防病毒软件阻止 iPhone 模拟器浏览任何网站。我可以通过以下步骤解决此问题:
-
在 Mac 中卸载或关闭防病毒软件。
擦除模拟器的所有内容和设置。
重启mac。
【讨论】:
以上是关于域=NSURLErrorDomain 代码 1202的主要内容,如果未能解决你的问题,请参考以下文章
错误:错误域=NSURLErrorDomain 代码=-1001“请求超时。”
API 失败,错误域=NSURLErrorDomain 代码=-1003
Alamofire 蜂窝网络“错误域=NSURLErrorDomain 代码=-1009”
错误:错误域=NSURLErrorDomain 代码=-1001 “请求超时。”