2012-04-11 3 views
1

J'ai une application iPhone qui parle à un service Web via SSL. Je voudrais distribuer une clé avec l'application que l'application peut utiliser pour s'identifier auprès du service web (une clé d'application). Toutes les applications peuvent utiliser la même clé, donc je peux distribuer la même clé avec chaque application.Protéger les données distribuées avec l'application iPhone

Comment puis-je distribuer ceci d'une manière qui le protège contre la découverte ou l'utilisation par autre chose que l'application? J'utilise Core Data avec un db SQLite.

Répondre

0

Vous pouvez utiliser le mécanisme de trousseau iOS. Google pour cela pour plus d'informations, ou jetez un oeil à SFHFKeychainUtils, qui est une petite classe par Buzz Andersen qui rend la manipulation de la chaîne de clé très facile.

Si vous êtes préoccupé par la sécurité «réelle» offerte par le trousseau iOS, consultez le this very interesting S.O. article.

+0

Merci. Donc, je peux distribuer la clé en toute sécurité avec l'application, puis y accéder à partir de l'application? – Undistraction

+0

Voilà à quoi sert le trousseau ... c'est comme le trousseau MacOS, toutes les informations utiles (mots de passe, certificats, etc) y sont stockées ... – sergio

+1

Donc je peux stocker un mot de passe en toute sécurité une fois que l'application est installé, mais comment puis-je protéger le mot de passe lorsque je le distribue? J'aurais besoin de stocker le mot de passe dans le paquet d'applications jusqu'à ce que l'application s'exécute pour la première fois et que je puisse l'ajouter à Keychain. Pendant ce temps, il est exposé. – Undistraction