Question

Comment puis-je vous assurer que mon application iPhone est autorisé à utiliser mon application App Engine pour envoyer et recevoir des données? Je dois probablement utiliser une clé secrète, mais je ne sais pas comment. Puis-je utiliser juste après / get envoyer ma clé statique sur https? Ou ai-je besoin d'utiliser un algorithme dynamique clé secrète?

Toute aide serait appréciée! Bjorn

Était-ce utile?

La solution

En supposant que vous pensez que vous pouvez garder le secret sur l'application iPhone d'être découvert, ce que vous avez besoin est un HMAC . Pour chaque demande que vous faites, passer le texte de la demande en fonction comme HMAC-SHA1, avec votre clé secrète comme la clé, et ajouter le résultat à la demande que vous faites. Lorsque le serveur reçoit la demande, effectuer la même opération et vérifiez que le match de HMAC.

Autres conseils

Je ne suis pas tout à fait sûr de ce que yo essayez d'accomplir.

Mais, ayant des secrets partagés ou des clés de l'API dans votre application iPhone est généralement une mauvaise idée.

Vous parlez de votre propre application AppEngine. Pourquoi ne pas créer un service web simple (basé JSON) sur le côté AppEngine que vos entretiens d'applications à? Je doute qu'il y ait besoin d'utiliser directement vos informations d'identification AppEngine de votre application iPhone.

Si cela ne répond pas à votre question, s'il vous plaît fournir plus de détails.

Utiliser un certificat SSL sur votre service Web que toutes les données transmises à ce sont cryptées.

  

Une connexion SSL cryptée nécessite   toutes les informations entre un client   et un serveur à chiffrer par le   envoi par le logiciel et déchiffré   logiciel de réception, la protection privée   informations d'interception sur la   Internet.

De plus à chaque appel au service envoyer un seul guid que vous avez défini avec vos données. Cette guid doit être validé avant que le service Web effectue une action. Pour verrouiller encore plus loin, vous pouvez créer un service qui génère un guid qui doit être repassé pour un service d'appel ultérieur.

De plus, assurez-vous que vous ne permettez pas que quiconque de voir votre wsdl sur le serveur sinon ils peuvent deviner vos paramètres.

A ceritifcate SSL de RapidSSL coûte 17 $ par année de sorte que le coût est rien à craindre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top