2009-11-14 7 views
4

J'ai besoin de comprendre comment obtenir deux fonctions OpenSSL pour iPhone. J'essaie de le garder, donc je n'ai pas besoin d'un autre dylib, parce que je ne veux pas qu'Apple rejette mon application pour quelque chose d'aussi bête.OpenSSL sur iPhone

De toute façon, j'ai une application qui accède à une API, pas une de mes API, donc je ne peux pas vraiment le changer, et aussi, je ne veux pas que quelqu'un connaisse ma clé publique, ou utilise ce api privée, donc je ne peux pas simplement faire un côté serveur de script PHP, ce qui serait plus facile, sauf que ça ne marchera pas.

Je dois pouvoir utiliser quelque chose qui scelle une requête dans OpenSSL, et qui code aussi une clé publique dans OpenSSL. J'ai les en-têtes, et je n'arrive pas à comprendre quoi que ce soit.

Répondre

7

En règle générale, l'approche la plus simple pour le cryptage et le décryptage sur l'iPhone est le Security.amework, au lieu d'utiliser directement OpenSSL.

Voir ici:

http://developer.apple.com/iphone/library/DOCUMENTATION/Security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW9

L'exemple au fond (listes 2-8, 2-9 et 2-10) montrent la création paire de clés RSA-1024 de cryptage et de décryptage. En utilisant une clé différente, vous pouvez contrôler la méthode de chiffrement/déchiffrement pour correspondre aux exigences de votre serveur.

+0

* « En général, l'approche la plus simple de chiffrement et de déchiffrement sur l'iPhone est le Security.framework, au lieu d'utiliser directement OpenSSL ... » * - est aussi la meilleure façon d'assurer votre L'application est vulnérable aux bogues connus. Apple abandonne régulièrement son logiciel. J'ai plus d'iDevices non corrigés que de patchs. Si je dépends d'Apple et de ses frameworks, alors je suis vulnérable. Si je dépend de son OpenSSL, alors je reconstruis la dernière version et je suis à jour. – jww

4

Pour moi, j'ai trouvé que la mise en œuvre du pod OpenSSL à partir de cocoapods était la plus facile. Aucun tutoriel requis.
Info: http://cocoapods.org/?q=openssl

-> OpenSSL (1.0.1) 
    OpenSSL is an SSL/TLS and Crypto toolkit. Deprecated in Mac OS and gone in iOS, this spec gives your project non-deprecated OpenSSL support. 
    pod 'OpenSSL', '~> 1.0.1' 
    - Homepage: http://www.openssl.org/ 
    - Source: https://github.com/endSly/OpenSSL-pod.git 
    - Versions: 1.0.1, 1.0.0 [master repo] 
+0

J'ai trouvé cela par pod de recherche aussi. Est-ce mieux que la bibliothèque openssl précompilée? – AechoLiu