栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

进行InApp结算时如何保护Google Play公钥

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

进行InApp结算时如何保护Google Play公钥

这里涉及很多内容:)您引用的段落后面的意思是,为了确保应用内结算的安全,您需要验证交易签名。这些签名是使用与您的开发人员帐户相关联的私钥签名的。密钥位于Google的服务器上,因此可以假设没有其他人可以用它签名数据,这是相当安全的。要验证它,您需要您的公共密钥,可以从开发者控制台复制它。如果有人在您的应用程序中替换了它,他们可能会愚弄它以接受来自未经授权的来源的应用程序内计费交易,因为如果他们植入了公钥,他们可能还会控制相应的私钥。但是,实际上,简单地在正确的位置修改您的代码以始终为或可能拥有的类似方法返回true

isLicensed()
hasItem()
而没有人这样做。

当然,保护密钥的最佳方法是完全不在您的应用程序中使用密钥。将所有事务验证逻辑移至您的服务器,然后使用HTTPS连接到它。正确验证证书链,以确保您正在与自己的服务器通信。否则,有人可能会混淆DNS,并欺骗您的应用程序以连接到自己的服务器。几周前宣布了针对iOS购买的类似攻击。

接下来的最好的事情就是以某种方式混淆密钥,并将其包含在您的应用程序中。这样做的好处是您不需要服务器,但是缺点是,如果某个人有足够的决心,他们就会发现它,因为他们总是可以反转应用程序的字节码。因此,最好的选择是拿出自己的原始方式来完成,而这种方式不会出现在公共论坛上:)为了使操作更困难一点,您可以在本机代码中实现验证部分,但这比较困难(但不是)不可能)进行分析。尽管如此,如上所述,在正确的位置修补字节代码比尝试替换公钥要容易得多,因此大多数破解者都会这样做。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454150.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号