2

我想在android中实现inappbilling,因为我们想在我们的服务器上执行签名验证。任何人都可以让我知道我们需要遵循的过程来验证Java中的签名。我也想进行测试和生产我们的服务器将访问以验证签名的 url。

4

1 回答 1

7

该过程与Android中完全相同。您必须将签名数据和签名发送到您的服务器,并在那里进行验证。例如,如果您使用 servlet,您可以从 Android 执行 POST,并在您的 servlet 中获取signaturesignedData请求参数。然后使用Signature类和你的公钥来验证。IAB 响应还包括一个随机数(随机生成的数字),为了也能够验证这一点,您还需要在服务器上生成随机数。简而言之:

  1. Android 客户端向服务器请求一个随机数
  2. 服务器生成随机数并将其保存到数据库,然后将其返回给客户端
  3. Android 客户端使用 nonce 发送 IAB 请求
  4. Android 客户端向服务器发送 IAB 响应(签名和签名数据)
  5. 服务器验证签名。如果无效,则返回错误。
  6. 如果有效,则提取 nonce 并检查它是否是一台服务器生成的。
  7. 服务器返回 OK 和任何相关内容(如果您购买了电影等)
  8. 客户接受交易并启用功能/获取内容等。

没有测试或生产 URL,您必须从 Android 应用程序发送数据。

于 2012-05-24T09:06:56.860 回答