Я получаю (kCFStreamErrorDomainSSL, -9813) при подключении к серверу клиента.iOS - (kCFStreamErrorDomainSSL, -9813)
Сервер клиента имеет самоподписанный сертификат, который я не могу изменить. Приложение использует AFNetworking 3.x. Я пробовал следующее, но ничего не работает.
Если кто-то может мне помочь, он будет очень признателен.
Info.plist:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key> *** CLIENT HOSTNAME *** </key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
<key>NSTemporaryExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
AFNetworking менеджер соединений:
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
#ifdef USE_SELF_SIGNED_CERT_RULES
manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
manager.securityPolicy.allowInvalidCertificates = YES;
manager.securityPolicy.validatesDomainName = YES;
#endif
Спасибо, Мухаммад, он работал как шарм. Я сделал то, что вы сказали, я подклассифицировал оценкуServerTrust: затем вызвал его в setSessionDidReceiveAuthenticationChallengeBlock, когда это необходимо. – PerroVerde