AFNetworking setAuthenticationChallengeBlock

Mon server nécessite une certificateion client, après un certain time de search et de lecture d'exemples dans des documents AFNetworking, j'ai essayé de définir setAuthenticationChallengeBlock et de fournir un certificate client.

Dans le browser fourni certifacete fonctionne très bien.

[requestOperation setAuthenticationChallengeBlock:^(NSURLConnection *connection, NSURLAuthenticationChallenge *challenge) { NSLog(@"AuthenticationChallenge"); NSSsortingng *thePath = [[NSBundle mainBundle] pathForResource:@"client" ofType:@"pfx"]; NSData *PKCS12Data = [[NSData alloc] initWithContentsOfFile:thePath]; CFDataRef inPKCS12Data = (__bridge CFDataRef)PKCS12Data; SecIdentityRef identity; [self extractIdentity:inPKCS12Data :&identity]; SecCertificateRef certificatee = NULL; SecIdentityCopyCertificate (identity, &certificatee); const void *certs[] = {certificatee}; CFArrayRef certArray = CFArrayCreate(kCFAllocatorDefault, certs, 1, NULL); NSURLCredential *credential = [NSURLCredential credentialWithIdentity:identity certificatees:(__bridge NSArray*)certArray persistence:NSURLCredentialPersistencePermanent]; [challenge.sender useCredential:credential forAuthenticationChallenge:challenge]; }]; [requestOperation start]; 

mais le code à l'intérieur du bloc n'est jamais appelé et le server renvoie une erreur 403 comme prévu.

Le code dans d'autres blocs tels que setUploadBlock etc. fonctionne bien.

Une idée d'où est mon erreur?

J'ai rencontré un problème similaire ce soir. Après un examen plus approfondi des files d'en-tête AFNetworking, j'ai trouvé mon problème. setAuthenticationAgainstProtectionSpaceBlock de définir le bloc setAuthenticationAgainstProtectionSpaceBlock sur mon opération.

  [requestOperation setAuthenticationAgainstProtectionSpaceBlock:^BOOL(NSURLConnection *connection, NSURLProtectionSpace *protectionSpace) { NSLog(@"Auth against protected space [%@]", protectionSpace); return YES; }]; 

Je crois qu'AFNetworking utilise ce bloc pour gérer la méthode du protocole NSURLConnectionDelegate: - (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace .