【问题标题】:Android Market In-App Billing Private Key (RSA)Android 电子市场应用内结算私钥 (RSA)
【发布时间】:2012-09-27 15:39:58
【问题描述】:

我想在我的应用程序中实现应用内计费。我有一个私钥(由 Google 提供)来验证请求,但我需要将其放入 .pem 文件中。问题是当我将它粘贴到表单中时:

-----BEGIN RSA PRIVATE KEY-----
------------<MY KEY>----------
-----END RSA PRIVATE KEY-----

它说这是一个无效的证书。

如何在有效的 .pem 文件中转换密钥字符串?谢谢。

【问题讨论】:

标签: android in-app-purchase key google-play


【解决方案1】:

Google 提供的不是私有的,而是一个公钥。私钥位于 Google 的服务器上。您使用什么语言/库?您可能需要一个 PEM public key 文件,如下所示:

-----BEGIN PUBLIC KEY-----
<PASTE HERE>
-----END PUBLIC KEY-----

【讨论】:

  • 感谢您的快速回答。问题是它说密钥必须有 256 个字符而不是 363。Google 给了我那个密钥,所以我不知道问题出在哪里。
  • 再次,您尝试如何以及使用库/语言来解析密钥?粘贴完整的错误消息或堆栈跟踪。
  • java.security.SignatureException:签名长度不正确:得到 344,但在 java.security.Signature$Delegate 的 sun.security.rsa.RSASignature.engineVerify(RSASignature.java:189) 处预期为 256 .engineVerify(Signature.java:1172) at java.security.Signature.verify(Signature.java:623) at com.estontorise.simplersa.RSAToolImpl.verifyWithKey(RSAToolImpl.java:101)
  • 引发该异常的代码是:tool.verifyWithKey(data, signature, publicKey);
  • 这是签名验证异常,不是密钥解析异常。展示您如何解析密钥和/或完整代码。
猜你喜欢
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多