ネットワークアクセス証明書が信頼されていません

2344 ワード

AFNNetworkingを使用してネットワークにアクセスすると、開発デバッグの段階でバックエンド証明書が信頼されていないためアクセスエラーが発生する可能性がある.AFNNetworkingソースコードを変更しないで解決する方法は以下の通りです.
問題の説明、注意深く間違った情報の中ですでに証明書の問題であることを発見することができます
Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “10.0.82.221” which could put your confidential information at risk." UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9843, NSErrorPeerCertificateChainKey=(
    "",
    ""
), NSUnderlyingError=0x608000441bc0 {Error Domain=kCFErrorDomainCFNetwork Code=-1202 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust=, _kCFNetworkCFStreamSSLErrorOriginalValue=-9843, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9843, kCFStreamPropertySSLPeerCertificates=(
    "",
    ""
)}}, NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be “10.0.82.221” which could put your confidential information at risk., NSErrorFailingURLKey=https://10.0.82.221/jtshopping/rest/qiniu/getToken, NSErrorFailingURLStringKey=https://10.0.82.221/jtshopping/rest/qiniu/getToken, NSErrorClientCertificateStateKey=0}

解決策
 // 1.      
     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    // 2.         
    manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
    manager.securityPolicy.allowInvalidCertificates = YES;
    [manager.securityPolicy setValidatesDomainName:NO];

備考:不足があればお知らせください.