我想在android中实现inappbilling,因为我们想在我们的服务器上执行签名验证。任何人都可以让我知道我们需要遵循的过程来验证Java中的签名。我也想进行测试和生产我们的服务器将访问以验证签名的 url。
问问题
1687 次
1 回答
7
该过程与Android中完全相同。您必须将签名数据和签名发送到您的服务器,并在那里进行验证。例如,如果您使用 servlet,您可以从 Android 执行 POST,并在您的 servlet 中获取signature
和signedData
请求参数。然后使用Signature
类和你的公钥来验证。IAB 响应还包括一个随机数(随机生成的数字),为了也能够验证这一点,您还需要在服务器上生成随机数。简而言之:
- Android 客户端向服务器请求一个随机数
- 服务器生成随机数并将其保存到数据库,然后将其返回给客户端
- Android 客户端使用 nonce 发送 IAB 请求
- Android 客户端向服务器发送 IAB 响应(签名和签名数据)
- 服务器验证签名。如果无效,则返回错误。
- 如果有效,则提取 nonce 并检查它是否是一台服务器生成的。
- 服务器返回 OK 和任何相关内容(如果您购买了电影等)
- 客户接受交易并启用功能/获取内容等。
没有测试或生产 URL,您必须从 Android 应用程序发送数据。
于 2012-05-24T09:06:56.860 回答