2010-02-24 7 views
5

Je voudrais tester une application sur le simulateur iphone qui se connecte à un service en utilisant un certificat qui est signé par notre propre CA. Je peux le faire sur le périphérique réel en ajoutant un profil d'approvisionnement qui a le certificat CA. J'avais pensé que le fait d'avoir le certificat CA dans le trousseau OSX standard fonctionnerait, mais ce n'est pas le cas.iPhone Simulator certificat CA personnalisé

Donc, je peux accéder au service via Safari sans avertissement, mais j'obtiens des erreurs en essayant de faire fonctionner des choses dans le simulateur.

Répondre

4

Les crypto-api ne sont pas disponibles pour le simulateur. Je pense que quelqu'un à Apple fumait du crack quand ils ont pris cette décision parce que je ne vois pas comment avoir un iPhone change le sort d'un algorithme cryptographique. Néanmoins, pour développer ces systèmes, vous aurez besoin d'un iphone ou d'un ipod touch.

+0

Boo. Donc, vous dites que SSL ne fonctionne pas du tout sur le simulateur? –

+0

J'ai fait du SSL simple sur le simulateur. Cela fonctionnera bien. Cependant il semblerait (d'après ce post) que vous ne pouvez pas installer de nouveaux certificats sur le simulateur. Est-ce le cas? – mtmurdock

+1

Vous pouvez installer de nouveaux certificats sur le simulateur. Cela implique de les ajouter manuellement au trousseau du simulateur. La façon dont je l'ai vu fonctionner est d'ajouter le certificat à un périphérique, de regarder l'entrée db créée sur le périphérique, puis de le copier manuellement dans la base de données que le simulateur utilise. Un script pour le certificat particulier utilisé pour Charles peut être trouvé à http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/ –

0

Cela semble fonctionner quand je pointe l'émulateur sur l'un de nos serveurs live qui utilise un vrai certificat. Mais je viens d'obtenir 1200 erreurs essayant de faire en sorte que l'émulateur communique avec un serveur de test local que j'ai mis en place ce matin. Donc, il doit y avoir des bibliothèques crypto là-bas (ou notre application ne parlerait pas aux serveurs live avec de vrais certificats), mais il semble y avoir un problème avec les certificats auto-signés.

+1

p.s. Je peux naviguer sur ce serveur et accepter son CERT de mon bureau très bien. – graham

1

Ce link a fonctionné pour moi

méthode canAuthenticateAgainstProtectionSpace prêt à retourner oui. NOTE: ceci acceptera n'importe quel certificat ainsi devrait être enlevé pour des versions de production: c.-à-d.: UNIQUEMENT pour l'essai

Questions connexes