Android 应用内结算 invalidKeySpecException 标签错误

Android In-App Billing invalidKeySpecException wrong tag

我正在使用 IabHelper 实现 android billing purchase v3 的基本用法,当我在真实设备上测试时仍然遇到这个问题。我 运行 第一次和成功购买后我消费了产品。现在我一次又一次地收到错误。

我已经检查了我的 public 密钥(甚至使用不同的编码),所以我认为这不是问题所在。在测试静态响应后,我已经消耗了所有 android.test.* 产品。我还尝试编辑 Security.java 中的 verifyPurchase 方法,但似乎错误发生在这个调用 PublicKey key = Security.generatePublicKey(base64PublicKey);

有人成功解决了这个问题吗?

这是错误的日志:

java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0c0890ba:ASN.1 encoding routines:asn1_check_tlen:WRONG_TAG
                                                                          at com.hubsante.nutrition.utils.util.Security.generatePublicKey(Security.java:82)
                                                                          at com.hubsante.nutrition.utils.util.Security.verifyPurchase(Security.java:62)
                                                                          at com.hubsante.nutrition.utils.util.IabHelper.queryPurchases(IabHelper.java:972)
                                                                          at com.hubsante.nutrition.utils.util.IabHelper.queryInventory(IabHelper.java:624)
                                                                          at com.hubsante.nutrition.utils.util.IabHelper.run(IabHelper.java:698)
                                                                          at java.lang.Thread.run(Thread.java:818)

可能 var base64publickey 长度或格式无效

似乎 public 密钥的格式不正确,我更正了它,现在可以使用了。