2010-02-24 13 views
5

Me gustaría probar una aplicación en el simulador de iphone que se conecta a un servicio utilizando un certificado que está firmado por nuestra propia CA. Puedo hacer esto en el dispositivo real al agregar un perfil de aprovisionamiento que tenga el certificado de CA. Pensé que el certificado CA en el llavero OSX estándar funcionaría, pero no es así.iPhone Simulator CA certificado personalizado

Para que pueda acceder al servicio a través de Safari sin previo aviso, pero obtengo un error al intentar ejecutar cosas en el simulador.

Respuesta

4

Las aplicaciones de cifrado no están disponibles para el simulador. Creo que alguien en Apple fuma crack cuando tomaron esta decisión porque no veo cómo un iPhone cambia el algoritmo criptográfico. Sin embargo, para desarrollarse con estos sistemas, necesitará un iPhone o un iPod touch.

+0

Boo. Entonces, ¿estás diciendo que SSL no funciona en absoluto en el simulador? –

+0

He hecho SSL simple en el simulador. Esto funcionará bien. Sin embargo, parece (de acuerdo con esta publicación) que no puede instalar nuevos certificados en el simulador. Es ese el caso? – mtmurdock

+1

Puede instalar nuevos certificados en el simulador. Implica agregarlos manualmente al llavero del simulador. La forma en que lo he visto funcionar es agregar el certificado a un dispositivo, mirar la entrada de db creada en el dispositivo y luego copiarla manualmente al db que usa el simulador. Se puede encontrar un script para el certificado particular utilizado para Charles en http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/ –

0

Parece que funciona bien cuando apunto el emulador en uno de nuestros servidores en vivo que usan un certificado 'real'. Pero acabo de recibir 1200 errores intentando que el emulador hable con un servidor de prueba local que configuré esta mañana.

Debe haber bibliotecas de cifrado allí (o nuestra aplicación no hablará con los servidores en vivo con certificados reales), pero ciertamente parece haber un problema con los certificados autofirmados.

+1

p.s. Puedo navegar a este servidor y aceptar su certificado de mi escritorio sin problemas. – graham

1

Este link trabajó para mí método canAuthenticateAgainstProtectionSpace

previsto regresar sí. NOTA: esto aceptará cualquier certificado, por lo que debe eliminarse para las versiones de producción: es decir: SÓLO para la prueba

Cuestiones relacionadas