2010-01-12 15 views
6

Desarrollo un marco de iPhone que envía solicitudes HTTPS para comunicarse con un servidor back-end públicamente disponible. Actualmente tengo un gran problema con los certificados de servidor que no son de confianza.¿Cómo enviar solicitudes HTTPS al host con certificado de servidor no confiable en iPhone Simulator?

El certificado del servidor back-end no está firmado por una CA confiable, por lo que mi primer enfoque fue utilizar NSURLRequest's private allowsAnyHTTPSCertificateForHost. Si bien funcionó como se esperaba y estuvo bien como una solución temporal, nuestro cliente exige una solución limpia como resultado final. Por lo tanto, escribí un método que permite instalar un certificado proporcionado desde el sistema de archivos en el llavero, pero este método no funciona como se esperaba en el simulador de iPhone. El certificado se instala en el llavero Mac OS X de la máquina host en su lugar. Desafortunadamente, si llamo al método sendSynchronousRequest de NSURLConnection, obtengo un error de "certificado de servidor no confiable". Parece que NSURLConnection no puede acceder al llavero Mac OS X del host para recuperar el certificado.

¿Mi conjetura es correcta o extrañé algo?

¿Funcionaría mi enfoque si ejecutara mi aplicación en un dispositivo real de iPhone (todavía no tengo una disponible)?

¿Existe un llavero en el simulador de iPhone en absoluto?

¿Es posible enviar solicitudes HTTPS a un servidor con un certificado no confiable en el iPhone Simulator o tengo que usar las directivas del precompilador para implementar diferentes rutinas dependiendo de la plataforma subyacente (simulador o dispositivo, respectivamente)?

Cualquier ayuda es muy apreciada. certificados SSL

Gracias, Matthias

+0

posible duplicado de [¿Cómo utilizar NSURLConnection para conectarse con SSL para un certificado que no es de confianza?] (Http://stackoverflow.com/questions/933331/how-to-use-nsurlconnection-to-connect-with-ssl- for-an-untrusted-cert) –

Respuesta

1

se puede obtener gratis de confianza en http://startssl.com

+0

Lo probé y todavía se muestra como "desconfiado" ... tal vez hice algo mal. –

0

Sí, estoy de acuerdo con Beat Bolli, pero lo he hecho por NSURL request.may be you te estás saltando spmething.

Cuestiones relacionadas