我编写了一个开源应用程序,其中我通过In App Billing添加了捐款。谷歌称“隐藏”公钥(see here)。
由于应用程序本身是开源的,所以每个人都可以编译它并更改密钥。目前,我创建了一个带有返回密钥的静态类的新项目。我用这个类来获取密钥,所以我的git repo中没有普通的公钥。但这真的有必要吗?
如果有人拥有我的公钥,可能会发生什么最糟糕的事情?
谢谢, Asfaloth
答案 0 :(得分:0)
我想到了这个“问题”并试着自己回答。希望它对任何人都有用。
注意:如果您计划通过应用程序内购买东西并激活功能,那么您应该对密钥进行模糊处理!我的答案仅适用于开源应用程序!
由于我没有通过应用内购买激活其他功能,因此黑客无法更换密钥。他无法获得任何其他功能。即使它能够启用某些东西,由于该应用程序是开源的,所以每个人都可以删除检查购买的条件。
另一方面,如果有人在他的应用程序中使用密钥,我不确定如果他将应用程序上传到开发控制台会发生什么。我认为在应用内购买会失败,因为每个上传的应用都会生成一个新的公钥。
我说你可以在公共存储库中包含公钥。我也会把它包括在内。