2010-12-04 48 views
0

Je suis en train de porter une application Android sur Windows Phone 7. L'application Android utilise un KeyStore. De ce que j'ai lu here, il semble que l'équivalent en C#/.NET est X509CertificateStore. Cependant, l'espace de noms contenant ne semble pas faire partie de Windows Phone 7. Existe-t-il une alternative spécifique pour WP7?Portage d'Android à WP7. Comment gérer KeyStore?

Éditer: On dirait qu'il existe une classe X509Certificate. Je ne connais pas les certificats sur les deux plates-formes, mais je vais essayer. Toute autre suggestion est encore grandement appréciée

Répondre

0

Selon la documentation de MS, ceci n'est pas supporté sur WP7.

0

Malheureusement, le stockage de clés comme en Java ou iOS n'est pas possible sur WP7. Le X509Certificate peut uniquement être utilisé pour créer de nouveaux certificats, mais pas pour lire les certificats existants sur le téléphone. Si vous le regardez sur MSDN, vous remarquerez qu'ils sont marqués comme sécurité critique. Le code de sécurité critique ne peut pas être appelé sur des périphériques verrouillés standard.

Cependant, vous pouvez créer un nouveau X509Certificate à partir d'un bytestream, seul problème est que vous ne pouvez pas ajouter ce certificat au magasin de certification de périphérique. C'est seulement possible à partir de l'email ou du webbrowser. Il n'y a également aucun moyen de rechercher quels certificats sont déjà installés sur le téléphone (en plus de déverrouiller votre téléphone et de fouiller dans le registre et les chemins).

Il n'y a pas de place pour les secrets protégés sur WP7, comme c'est le cas dans Androids KeyStore. Vous pouvez seulement utiliser IsolatedStorage avec DPAPI comme il est décrit here ou crypter des fichiers dans IsolatedStorage avec un mot de passe qui n'est pas protégé quelque part sur le téléphone.