我需要在info.plist中设置什么设置才能启用HTTPS模式?我已经把它放在我的枕头里了:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Run Code Online (Sandbox Code Playgroud)
但它没有用,我仍然得到这个错误
错误信息:-
2016-02-25 12:46:31.860 Indus Audio [707:13224] NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)
2016-02-25 14:20:31.119 Indus Audio [817:23670]响应:(null)错误域= NSURLErrorDomain代码= -1202"此服务器的证书无效.您可能正在连接到假装的服务器是"www.indusaudio.com",可能会使您的机密信息面临风险."
UserInfo = {NSURLErrorFailingURLPeerTrustErrorKey =,NSLocalizedRecoverySuggestion =你想要连接到服务器吗?,_kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = -9813,NSErrorPeerCertificateChainKey = {type = immutable,count = 1,values =(0:)},NSUnderlyingError = 0x7f9e58e05cf0 {错误域= kCFErrorDomainCFNetwork代码= -1202"(null)"UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0,kCFStreamPropertySSLPeerTrust =,_ kCFNetworkCFStreamSSLErrorOriginalValue = -9813,_kCFStreamErrorDomainKey = 3,_kCFStreamErrorCodeKey = -9813,kCFStreamPropertySSLPeerCertificates = {type = immutable,count = 1,values =(0:)}}},
网址: https://www.xxxxx.com/xxx/xxx/files/downloadFile/en/linto
更新: 更好地更新您的服务器以支持 SSL 和 TLSv1.2
仅供临时使用。这种方法并不完全可取:
<key>NSAppTransportSecurity</key>
<dict>
<!--Connect to anything. Not advisable. For desperate measures I guess-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Run Code Online (Sandbox Code Playgroud)
原答案:
iOS 9 支持 TLSv1.2,请参阅此文档。因此,通过将其更改为 TLSv1.1,它会绕过安全性(这并不是完全可取的)。另外,指定你的url像这样:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>enterYourUrlHere.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1501 次 |
| 最近记录: |