我有一个开源应用程序,我最近添加了应用程序中的账单。既然代码中现在有RSA密钥,那么保持它的开源安全吗?
我所指的密钥是Google Play开发人员控制台提供的base64编码的RSA公钥。
发布于 2014-05-23 02:37:36
名字怎么说它是一个公钥。这意味着它可以与其他人公开分享。即使你不想分享它,任何有足够技能的开发人员都很可能从你的应用程序中提取它,如果它在那里的话。所以,这不是一个大问题,如果你透露了它。
你真正需要保密的是你在你的应用中存储和访问公钥的方式。这一点很重要,因为您的应用程序使用您的公钥来验证支付服务器响应。如果响应由您的私钥签名,则被认为是有效的。因此,有了公钥,您就可以随时判断服务器是否使用了您的私钥(只有您自己知道)来签署内容。黑客可以做的是,他/她可以用他们的公钥替换你的应用程序中的公钥,然后发送用他们的私钥签名的黑客响应。您的逻辑将成功验证这些响应,并且您的应用程序将表现为付费应用程序。因此,请注意并确保您存储公钥的方式是私有的。
关于你的案例,我建议从你的开源项目中完全删除应用内支付相关的代码。这将提高安全性,并使黑客的生活更加困难。你不需要担心你泄露了你的公钥,但是你最好把它和上面提到的实现一起删除。
https://stackoverflow.com/questions/23814449
复制相似问题