Pregunta

Me parece todas estas soluciones temporales para NSURLConnection de los que utilizan una API cerrada para acceder a un certificado SSL no es de confianza. Las otras opciones son para instalar el certificado en primer lugar por el uso de la aplicación Safari / correo ..

Me gustaría saber lo que están instalados los certificados raíz, por lo que puedo conseguir uno en la CA de confianza, la forma en que se supone que hacerlo ..

Alguien tiene una idea de lo que necesito CA?

¿Fue útil?

Solución

Aquí está una lista de la CA disponible de forma pre instalado en el iphone

http://support.apple.com/kb/HT2185

Se puede obtener sus certificados firmados por cualquiera de estas autoridades o puede firmar sus propios certificados y crear su propia entidad emisora ??utilizando OpenSSL

Otros consejos

Se puede, de hecho, aceptar un certificado SSL autofirmado utilizando las API públicas:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
    return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
        [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
    }

    [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top