Error 1012 al usar SSL en AFNetworking 2.0

Estoy intentando conectar con SSL a mi website que está utilizando un certificate firmado por StartSSL. Cuando navego en el website, todo funciona bien, sin embargo, cuando trato de usar SSL en la aplicación, obtengo:

Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn't be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x8d635f0 {NSErrorFailingURLKey=https://edutoets.nl/API/login.php, NSErrorFailingURLStringKey=https://edutoets.nl/API/login.php} 

He incluido el certificate en formatting .cer (después de convertirlo de .crt a .cer con openssl) en el package de aplicaciones y AFNetworking puede encontrarlo. Aquí está mi código que crea la política de security del administrador:

 - (AFSecurityPolicy*) sslSecurityPolicy { NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"edutoets" ofType:@"cer"]; NSData *certData = [NSData dataWithContentsOfFile:cerPath]; AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init]; [securityPolicy setAllowInvalidCertificates:NO]; [securityPolicy setPinnedCertificates:@[certData]]; [securityPolicy setSSLPinningMode:AFSSLPinningModeCertificate]; return securityPolicy; } 

Y aquí configuré la política de security y ejecuté la request:

 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager; [manager setSecurityPolicy:[self dodyrwSecurityPolicy]]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; [manager POST:kLoginURL parameters:... success:...]; 

No sé qué estoy haciendo mal aquí. El file .cer se ve bien (el certificate corresponde al certificate al navegar en el website). Esto está sucediendo en el simulador de iOS.

¿Podría alguien ayudarme con esto?

Tuve una situación similar en la que recibí el error 1012 a pesar de tener un certificate SSL válido embedded en mi aplicación. Esta aplicación podría comunicarse con el server (con todo lo demás que permanece igual) al usar AFNetworking v1. Mi problema fue causado por no tener la cadena completa de certificates embeddeds en la aplicación. Configuración validatesCertificateChain = NO; arreglado el problema

Bueno, al parecer también debe agregar su certificate intermedio y certificate raíz al package de aplicaciones. Afer, hice eso, ¡comenzó a funcionar!

Solucioné este lado del server: mi server tenía instalado un file .crt que no incluía todos los certificates intermedios en la raíz. Puede agrupar todos los certificates en un file .crt e instalarlos en el server web.

No tuve que cambiar el binary de mi aplicación de ninguna manera. (¡Gracias a dios!)

(Este error es extraño. El problema HTTPS no se produjo al utilizar Safari o Chrome, y este código de error es para 'authentication cancelada por el usuario'. Sin embargo, definitivamente es un problema de SSL).