2010-09-28 21 views
2

Je travaille sur une application qui utilise un service web privé. Nous utilisons actuellement un certificat client groupé pour activer la connectivité SSL bidirectionnelle. Cependant, le mot de passe du certificat figure dans le code et il est possible de le décompiler et de l'utiliser avec le fichier de certificat (trivial) extrait à des fins malveillantes .Est-il possible de distribuer un trousseau rempli avec une application?

Y at-il une méthode par laquelle je peux pré-charger un mot de passe dans le trousseau d'application pour la distribution avec l'application afin que le mot de passe ne soit jamais laissé à l'air libre?

Répondre

2

Peu importe la façon dont vous mettez votre mot de passe dans votre binaire, il y aura someway d'exploiter ce, que ce soit avec des outils de débogage, d'analyse de code, etc.

Tu ferais mieux de traiter votre service Web aussi ouvert ... peut-être improbable pour obtenir des demandes pas correctement autorisées dans le très prochain avenir, mais fondamentalement, vous donnez l'accès au public. Keychain devrait être crypté avec une clé spécifique à l'utilisateur, ce que vous ne pouvez évidemment pas faire - ou vous seriez capable de lire les données de tout le monde de toute façon.

Si vous avez vraiment besoin de le protéger, vous avez probablement besoin de comptes d'utilisateur sur votre serveur ... si c'est plus sûr que l'obscurité à vous.

+0

C'était la conclusion que je venais à. Le compromis pour l'API open v secure est malheureusement complexe. – Rick