【问题标题】:Android In App Billing public key in public repository公共存储库中的 Android In App Billing 公钥
【发布时间】:2013-11-30 19:29:52
【问题描述】:

我编写了一个开源应用程序,我在其中通过 In App Billing 添加了捐款。 Google 说要“隐藏”公钥 (see here)。

由于应用程序本身是开源的,因此每个人都可以编译它并更改密钥。目前我创建了一个带有返回密钥的静态类的新项目。我用这个类来获取密钥,所以我的 git repo 中没有普通的公钥。但这真的有必要吗?

如果有人拥有我的公钥,可能发生的最糟糕的事情是什么?

谢谢, 芦笋

【问题讨论】:

  • 很确定可能发生的最糟糕的事情是有人可以用自己的密钥替换密钥,以欺骗您的应用程序相信已完成购买。但既然你的应用是开源的,我不明白为什么有人会去麻烦。
  • 感谢您的评论。由于捐赠不会启用任何附加功能,我不在乎是否有人让应用程序认为捐赠是在没有支付任何费用的情况下进行的。

标签: java android in-app-billing android-billing


【解决方案1】:

我想到了这个“问题”并尝试自己回答。希望它对任何人都有用。

注意:如果您打算通过应用内购买来销售商品并激活功能,您应该混淆您的密钥!我的答案仅适用于开源应用程序!

由于我没有通过应用内购买激活其他功能,因此黑客无法更换密钥。他无法获得任何附加功能。即使它会启用某些功能,由于该应用程序是开源的,因此每个人都可以删除检查购买的条件。

另一方面,如果有人在他的应用程序中使用密钥,我不确定如果他将应用程序上传到开发控制台会发生什么。我认为应用内购买会失败,因为每个上传的应用都会生成一个新的公钥。

我想说您最好将公钥包含在您的公共存储库中。我也会包含它。

【讨论】:

    猜你喜欢
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2014-05-31
    • 1970-01-01
    相关资源
    最近更新 更多