Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 具有自签名证书的iOS 11 HTTPS网络请求失败_Ssl_Https_Ios11_Self Signed - Fatal编程技术网

Ssl 具有自签名证书的iOS 11 HTTPS网络请求失败

Ssl 具有自签名证书的iOS 11 HTTPS网络请求失败,ssl,https,ios11,self-signed,Ssl,Https,Ios11,Self Signed,出于测试目的,项目使用自签名证书,作为网络请求的捆绑资源加载 它在Xcode8+iOS10设备和模拟器上运行良好 但是,在Xcode9和iOS 11上,提示错误如下: ---------------- <APIClient.swift> call [#77] Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot b

出于测试目的,项目使用自签名证书,作为网络请求的捆绑资源加载

它在Xcode8+iOS10设备和模拟器上运行良好

但是,在Xcode9和iOS 11上,提示错误如下:

----------------
<APIClient.swift> call [#77]
Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x1c0111f70>, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, NSErrorPeerCertificateChainKey=(
    "<cert(0x1070fb600) s: *.ABC i:ABC>",
    "<cert(0x1070fce00) s:ABC i: 2048 offline root>",
    "<cert(0x1070fd600) s: 2048 offline root i: 2048 offline root>"
), NSUnderlyingError=0x1c465e180 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust=<SecTrustRef: 0x1c0111f70>, _kCFNetworkCFStreamSSLErrorOriginalValue=-9802, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, kCFStreamPropertySSLPeerCertificates=(
    "<cert(0x1070fb600) s: *.ABC i:ABC>",
    "<cert(0x1070fce00) s:ABC i: 2048 offline root>",
    "<cert(0x1070fd600) s: 2048 offline root i: 2048 offline root>"
)}}, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., NSErrorFailingURLKey=https:/
----------------
----------------
打电话[77]
Error Domain=NSURERRORDOMAIN Code=-1200“发生SSL错误,无法与服务器建立安全连接。”UserInfo={NSURERRORFAILLINGURLPERTRETERRORCERRORKEY=,NSLocalizedRecoverysSuggestion=是否仍要连接到服务器?,kCFStreamErrorDomainKey=3,kCFStreamErrorCodeKey=-9802,NSERROPERCertificateChainKey=-9802=(
"",
"",
""
),NSUnderlyingError=0x1c465e180{Error Domain=KCFerrorDomain=KCF网络代码=-1200“(null)”用户信息={{kCFStreamPropertySSLClientCertificateState=0,kCFStreamPropertySSLPeerTrust=,KCFnetworkCfStreamsLerrorOriginalValue=-9802,kCFStreamErrorDomainKey=3,kCFStreamErrorCodeKey=-9802,kCFStreamPropertySSLPeerCertificates=(
"",
"",
""
)}},NSLocalizedDescription=发生SSL错误,无法与服务器建立安全连接。NSErrorFailingURLKey=https:/
----------------
可以通过添加以下内容来解决此问题:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
NSAppTransportSecurity
NSAllowsArbitraryLoads
我想知道这是一个模拟器错误,还是安全策略被更改了,比如在iOS 11上完全禁止自签名证书? 如果是,是否有链接/文档参考