在iOS 9中通过HTTPS通过IP地址连接到服务器时,kCFStreamErrorDomainSSL,-9802
我们有一个通过HTTPS连接到服务器的iOS应用程序。当应用程序使用新的iOS 9 SDK构建并在iOS 9下运行时,会发生以下错误:在iOS 9中通过HTTPS通过IP地址连接到服务器时,kCFStreamErrorDomainSSL,-9802,ios,iphone,afnetworking,ios9,app-transport-security,Ios,Iphone,Afnetworking,Ios9,App Transport Security,我们有一个通过HTTPS连接到服务器的iOS应用程序。当应用程序使用新的iOS 9 SDK构建并在iOS 9下运行时,会发生以下错误: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 该应用程序使用带有固定证书的AF1.3.4网络。如果使用服务器的IP地址连接到服务器,则会出现问题。如果我添加配置,或者如果我用域名连接到服务器,它就会工作 Tomcat连接器配置有sslEnabledP
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
该应用程序使用带有固定证书的AF1.3.4网络。如果使用服务器的IP地址连接到服务器,则会出现问题。如果我添加配置,或者如果我用域名连接到服务器,它就会工作
Tomcat连接器配置有sslEnabledProtocols=“TLSv1,TLSv1.1,TLSv1.2”
我试过了,但似乎什么都没变
我还没有找到多少关于ATS的官方文件。可能使用IP地址连接不起作用?iOS9要求服务器只支持TLSv1.2并支持完美的前向安全性 应用程序还需要支持IPV6,包括不使用硬编码IP地址。建议使用
NSURLSession
。否则,必须在应用程序列表中添加例外情况
请参阅WWDC-15课程“安全和您的应用”
有关详细信息,请参阅。我找到了另一个堆栈溢出答案,其中列出了服务器上的确切新要求清单,以完全满足iOS 9默认应用程序传输安全要求: 希望对您有所帮助。您可以将此添加到“Info.plist文件中,它将允许非安全连接:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
NSAppTransportSecurity
NSAllowsArbitraryLoads
我在这个问题上卡住了一段时间,尝试了Info.plist中的所有技巧,但仍然有错误:
HTTP load failed (kCFStreamErrorDomainSSL, -9813)
尝试连接到开发中的本地主机服务器时
使用react本机项目在本地开发,该项目连接到一个带有自签名证书的API,我将系统设置为信任该证书,但我花了一段时间才意识到,我还需要IOS模拟器接受我的证书作为受信任证书,以克服此错误
在模拟器的主屏幕中,您应该能够将证书文件拖到模拟器中,以提示它添加证书配置文件。
或者,如果可以通过模拟器safari浏览器中的本地主机url访问证书,则可以通过safari接受证书
希望这能帮助一些人,因为我在它为我点击前,在周围转圈 解决方案1: 如果您正在寻找解决方案,请使用以下方法:
SSL证书应至少为TLSv2.0类型,因为iOS 10需要此类型。
查看此项了解详细信息
伟大的博客参考+1!一定要读那篇博文。最后,他解释了如何禁用此功能,以及为什么不应该禁用。当您希望通过IP(不含ssl)将应用程序连接到内部网络上的服务器时,如何进行内部测试?我的服务器支持TLS 1.2。我已经添加了一个例外(包括子域)以仅绕过前向保密,但我仍然得到了这个错误(
kcfstreamerordomainssl,-9802
)@NicolasMiari你找到解决方案了吗?在我的iOS 9测试设备上,它构建并运行,但在我的iOS 10设备上,我收到了您发布的错误。我已经尝试了我在上看到的所有东西,所以(我知道)没有任何东西允许应用程序连接。我只是加载我的启动屏幕,并得到你发布的错误。可能重复的