该死的蔬菜
如果我正确理解,则以下功能似乎可以防止他人使用该应用程序以外的其他方式调用该API。它是如何工作的,它的安全性如何?
它是否使用应用程序的哈希值生成某种公钥/私钥对,并使用私钥对请求签名,以便Google的服务器可以验证该请求是否来自该应用程序?但是,如果是这样,考虑到一个Android应用程序是用Java编写并且可以相对容易地反编译的,那么如果攻击者反编译该应用程序并从中提取私钥,那么他可以在不使用该应用程序的情况下调用Google API。 ?
纪尧姆·布拉奎尔
如文档中所述(您可以在屏幕快照中看到),需要使用应用程序包的SHA-1指纹来验证请求源。
将Android应用程序用于Android应用程序。此选项需要添加您的软件包名称和SHA-1签名证书指纹。
编辑1
实际上,当您的Android应用调用您的服务时,会出现自动标头,例如
- X-Android-Package,其中包含包名称
- X-Android-Cert,这是您软件包的SHA-1签名。
当然,可以获取软件包,获取其名称和SHA-1签名并以编程方式复制此标头
无论如何,API密钥都不是保护访问的好方法。没有涉及加密机制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句