iOS 8 a cassé connexion SSL dans mon app - CFNetwork SSLHandshake échoué (-9806)

Mon application se connecte simplement à un serveur web sur un appareil à la maison et lit le code html.
Il fonctionne très bien lors de l'utilisation de http, mais maintenant sur iOS 8 lors de l'utilisation de https, il ne fonctionne pas.

- Je utiliser AFNetworking v1 et remplacer le SSL vérifie à l'aide de ces supplanter les méthodes (Oui, je sais que dans des circonstances normales, cela ne devrait pas être fait et est dangereux etc.., mais c'est un autre sujet).

[self setAuthenticationChallengeBlock:^(NSURLConnection *connection, NSURLAuthenticationChallenge *challenge) {
if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
            [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
        }
    }];

[self setAuthenticationAgainstProtectionSpaceBlock:^BOOL(NSURLConnection *connection, NSURLProtectionSpace *protectionSpace) {
        if([[protectionSpace authenticationMethod] isEqualToString:NSURLAuthenticationMethodServerTrust]) {
                return YES; //Self-signed cert will be accepted
        }
        //If no other authentication is required, return NO for everything else
        //Otherwise maybe YES for NSURLAuthenticationMethodDefault and etc.
        return NO;
    }];

Maintenant avec iOS 8, j'obtiens une erreur comme ceci:

CFNetwork SSLHandshake échoué (-9806)

CFNetwork SSLHandshake échoué (-9806)

CFNetwork SSLHandshake échoué (-9806)

NSURLConnection/CFURLConnection HTTP échec de chargement (kCFStreamErrorDomainSSL, -9806)

Erreur lors de la connexion: Erreur de Domaine=NSURLErrorDomain Code=-1200 "Une erreur SSL a eu lieu et d'une connexion sécurisée au serveur ne peut pas être fait." UserInfo=0x7b66c110 {NSLocalizedDescription=Une erreur SSL a eu lieu et d'une connexion sécurisée au serveur ne peut pas être fait., NSLocalizedRecoverySuggestion=souhaitez-vous vous connecter au serveur de toute façon?, _kCFStreamErrorCodeKey=-9806, NSErrorFailingURLStringKey=https://xxx.xxx.xxx.xxx:443/live.htm, _kCFStreamErrorDomainKey=3, NSUnderlyingError=0x7c0d8a20 "Une erreur SSL a eu lieu et d'une connexion sécurisée au serveur ne peut pas être fait.", NSErrorFailingURLKey=https://xxx.xxx.xxx.xxx:443/Info.live.htm}

J'ai essayé de changer à FSNetworking, et il sometimes œuvres lors de la définition:

- (void)connection:(NSURLConnection *)connection
willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {

    if([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
    {
        NSLog(@"Ignoring SSL");
        SecTrustRef trust = challenge.protectionSpace.serverTrust;
        NSURLCredential *cred;
        cred = [NSURLCredential credentialForTrust:trust];
        [challenge.sender useCredential:cred forAuthenticationChallenge:challenge];
        return;
    }
}

Cependant faire 2 simultanée de la demande, à seulement 1 réussisse et que l'on va échouer avec une erreur similaire à ci-dessus. Seulement 1 demande semble atteindre le SSL remplacer le point.

Quelqu'un peut s'il vous plaît faire la lumière sur ce et quoi de changé dans iOS 8 pour briser ce et comment je peux éventuellement le réparer?

Grâce

Voici une liste des codes d'erreur qui comprend le vôtre: opensource.apple.com/source/libsecurity_ssl/...

OriginalL'auteur Darren | 2014-09-18