Ich bekomme (kCFStreamErrorDomainSSL, -9813) bei der Verbindung mit einem Client-Server.iOS - (kCFStreamErrorDomainSSL, -9813)
Der Server des Clients verfügt über ein selbstsigniertes Zertifikat, das ich nicht ändern kann. Die App verwendet AFNetworking 3.x. Ich habe folgendes versucht, aber nichts scheint zu funktionieren.
Wenn jemand mir helfen könnte, wird es sehr geschätzt.
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 Verbindungsmanager:
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
Vielen Dank Muhammad, es funktionierte wie ein Zauber. Ich habe getan, was du gesagt hast, ich habe evaluateServerTrust subclassiert und dann bei Bedarf in setSessionDidReceiveAuthenticationChallengeBlock aufgerufen. – PerroVerde