2

Android に inappbilling を実装したいので、サーバーで署名検証を実行したいと考えています。Java で署名を検証するために必要なプロセスを誰か教えてください。サーバーが署名を検証するためにヒットする URL。

4

1 に答える 1

7

このプロセスは、Android の場合とまったく同じです。署名されたデータと署名をサーバーに送信し、そこで検証を実行する必要があります。たとえば、サーブレットを使用している場合、Android から POST を実行し、サーブレットでパラメーターを取得しsignaturesignedData要求することができます。次に、Signatureクラスと公開鍵を使用して検証します。IAB 応答にはナンス (ランダムに生成された数値) も含まれており、これも検証できるようにするには、サーバーでもナンスを生成する必要があります。要するに:

  1. Android クライアントがサーバーからノンスを要求する
  2. サーバーはノンスを生成してDBに保存し、それをクライアントに返します
  3. Android クライアントは nonce を使用して IAB リクエストを送信します
  4. Android クライアントが IAB 応答 (署名と signedData) をサーバーに送信する
  5. サーバーは署名を検証します。有効でない場合は、エラーを返します。
  6. 有効な場合は、ナンスを抽出し、それが 1 つのサーバーが生成したものであることを確認します。
  7. サーバーは OK と関連コンテンツ (映画を購入した場合など) を返します。
  8. クライアントはトランザクションを受け入れ、機能を有効にしたり、コンテンツを取得したりします。

テスト用または本番用の URL はありません。Android アプリからデータを送信する必要があります。

于 2012-05-24T09:06:56.860 に答える