我正在iOS9中测试一个应用程序,并通过自动测试程序从amazon.com加载映像获取SSL错误。我所有的东西都是通过https交付的,但我仍然有问题。
我添加了正确的ATS密钥(在另一个应用程序上工作)。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>amazonaws.com</key>
<dict>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>我到处都是论坛,模数转换器,所以我没有任何运气。
我试过完全删除ATS,但仍然有同样的错误。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>错误:
NSURLSession/NSURLConnection失败(kCFStreamErrorDomainSSL,-9802) Domain=NSURLErrorDomain代码=-1200“发生了Domain=NSURLErrorDomain错误,无法与服务器建立安全连接。UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=,NSLocalizedRecoverySuggestion=Would您喜欢连接到服务器吗?,_kCFStreamErrorDomainKey=3,_kCFStreamErrorCodeKey=-9802,NSErrorPeerCertificateChainKey={type = immutable,count = 3,value=(0:1:2:)},NSUnderlyingError=0x7ffe70e2c690 {Error Domain=kCFErrorDomainCFNetwork Code=-1200“发生了SSL错误,无法建立到服务器的安全连接。”您想要连接到服务器的UserInfo={NSErrorFailingURLStringKey=thumbnail.jpg,_kCFNetworkCFStreamSSLErrorOriginalValue=-9802,NSLocalizedRecoverySuggestion=Would {type= immutable,count = 3,value=(0:1:2:)},_kCFStreamPropertySSLClientCertificateState=0,kCFStreamPropertySSLPeerTrust=,NSLocalizedDescription=An SSL错误已经发生,并且无法建立到服务器的安全连接。、_kCFStreamErrorDomainKey=3、NSErrorFailingURLKey=thumbnail.jpg、_kCFStreamErrorCodeKey=-9802}、NSLocalizedDescription=An SSL错误已经发生,无法建立到服务器的安全连接。NSErrorFailingURLKey=thumbnail.jpg、NSErrorFailingURLStringKey=thumbnail.jpg、NSErrorClientCertificateStateKey=0}
静态文件: AWS Amazon
主持人: Heroku
后端: Django
API: Django Rest框架
我尝试了在ATS上找到的所有配置,清理/重置/重建,修改Django请求(最初包括querystring身份验证)等等。
发布于 2015-09-30 13:41:14
在我对https链接做了一个子字符串替换之后--我收到消息说ATS阻塞了它们。我知道我在Info.plist中有正确的密钥-所以我想一定是另一个Info.plist在某个地方。
结果发现,资源中有一个Info.plist,但是它什么也没做。我们必须将ATS键添加到目标面板的Info选项卡中。不能100%确定这两者的区别,因为我过去一直在编辑Info.plist。
发布于 2015-10-16 03:50:14
我必须像您一样将amazonaws.com添加到Info.plist中,并将SDWebImageAllowInvalidSSLCertificates作为sd_setImageWithURL:方法的一个选项来使用。
https://stackoverflow.com/questions/32660670
复制相似问题