Effectuer des tâches de vérification de signature sur un serveur inappbilling android

Je voudrais mettre en application inappbilling dans android, pour cela nous voudrions effectuer la vérification de signature sur notre serveur. Pour quelqu'un s'il vous plaît laissez-moi savoir le processus que nous devons suivre pour vérifier la signature en Java.Je voudrais aussi tester et production urls que notre serveur va frapper pour vérifier la signature.

0

1 Réponses

Le processus est exactement le même que dans Android. Vous devez envoyer les données signées et la signature à votre serveur, et préformer la vérification là. Si vous utilisiez des servlets par exemple, vous pouvez effectuer un POST à ​​partir d'Android et obtenir les paramètres de demande signature et signedData </​​code> dans votre servlet. Utilisez ensuite la classe Signature et votre clé publique pour vérifier. La réponse de l'IAB inclut également un nonce (nombre généré aléatoirement), et pour pouvoir le vérifier aussi, vous devez également générer le nonce sur votre serveur. En bref:

  1. Le client Android demande un nonce au serveur
  2. Le serveur génère et enregistre le nonce dans la base de données, puis le renvoie au client
  3. Le client Android utilise le nonce pour envoyer une requête IAB
  4. Le client Android envoie une réponse IAB (signature et signedData) au serveur
  5. Le serveur vérifie la signature. Si non valide, renvoyer une erreur.
  6. Si c'est valide, extrayez le nonce et vérifiez qu'il est généré par un serveur.
  7. Le serveur renvoie OK et tout contenu associé (si vous avez acheté un film, etc.)
  8. Les clients acceptent la transaction et activent les fonctionnalités/récupèrent le contenu, etc.

Il n'y a pas d'URL de test ou de production, vous devez envoyer les données depuis votre application Android.

0
ajouté
Merci Nikolay pour la réponse rapide et détaillée.La seule chose que je ne pouvais pas comprendre, c'est comment le serveur peut-il vérifier que la signature envoyée par le client est valide ou pas? Pourriez-vous donner plus d'explications à ce sujet. Tout comme dans iphone nous frapperons une URL de sandbox pour tester et une url live pour la production pour tester la signature, avons-nous une telle URL que Google fournit qui aide le serveur à vérifier la signature
ajouté l'auteur Remmyabhavan, source
Vous pourriez mal comprendre comment fonctionne tout le système. Les données de la commande sont signées par les serveurs Android Market/Google Play à l'aide de la clé privée générée pour un développeur spécifique (vous). Votre application reçoit les données signées et peut vérifier la signature en place à l'aide de la clé publique correspondante ou l'envoyer pour vérification à votre serveur. Le processus est essentiellement le même, avec l'avantage d'un serveur que vous pouvez garder votre code de vérification sécurisé. Il n'y a pas de vérification en ligne fournie par Google, et do
ajouté l'auteur Nikolay Elenkov, source
@ NikolayElenkov Nikolay Fondamentalement, j'ai une application où je voudrais offrir une option d'abonnement pour désactiver les annonces. À quel moment du processus utiliserais-je cette vérification côté serveur?
ajouté l'auteur Dannyboy, source