当前位置: 首页 > 知识库问答 >
问题:

Firebase API密钥限制不适用于Android应用程序包名称和SHA1指纹

康赞
2023-03-14

我们正在使用谷歌Firebase为我们的应用程序获取CrashLytics数据,以及通过谷歌服务公开的API密钥。json文件是作为安全问题提出的,因为应用程序apk文件可以被反向工程来获取该文件,然后攻击者可以使用该文件将数据发送到我们的Firebase帐户。

为了避免这种情况,我们试图遵循本文档来限制API密钥的使用,以便它只能由我们的应用程序使用。这是通过使用包名和应用程序密钥库的SHA1指纹来实现的。

然而,当我们测试它时,它并没有像预期的那样工作。我们仍然能够通过一个假应用程序发送崩溃数据,该应用程序具有相同的软件包名称,相同的谷歌服务。html" target="_blank">json文件,但另一个密钥库文件。

基于这个问题的公认答案,这种方法应该是有效的。如果有这方面经验的人能与我们分享,我们将不胜感激。

共有1个答案

逄嘉禧
2023-03-14

你必须去https://console.developers.google.com/apis,并且在您的项目凭据中,您将看到您的API是不受限制的。按照每个API上的屏幕说明进行限制。

 类似资料:
  • 当我在Android手机上调试应用程序时,我绝对没有遇到任何错误,但在AVD上,我一开始就得到了一个NullPointerException()。我的Android设备在22 API的Lollipop(5.1.1)上运行,我的AVD在28 API的Pie(9.0)上运行。我在gradle中将最小SDK设置为21,编译SDK设置为28。 这是错误: E/AndroidRuntime:致命异常:主进程

  • 我是拉威尔的新手,我正在尝试使用Artisan命令。。。 它显示。。。 Laravel开发服务器已启动:http://127.0.0.1:8000 但是,当我手动输入时,它不会自动启动http://127.0.0.1:8000 它显示了这个错误: RuntimeException未指定应用程序加密密钥。 有什么想法吗?我正在使用Laravel framework 5.5-dev。

  • 我想知道一个应用程序的包名,我只知道那个应用程序的应用程序名。假设我想知道一个电子邮件应用程序的包名,只是它的名字,然后如何得到它 我只知道应用程序名。 这是代码,以获得所有的应用程序的包名称,但我需要知道特定的应用程序。

  • 我刚刚完成了我的第一个android应用程序,并生成了一个apk文件在我的手机上测试。然后我意识到我在制作项目时留下了默认的“My Application”名称。所以安装的应用程序名为“我的应用程序”。如何更改应用程序的名称?

  • 我刚刚开始使用应用程序包。我已经在仪表板的部分设置了两个证书(签名证书和上载证书)。 我已经构建了一个应用程序包,并用上传证书签名,但是当我在下上传包时(这实际上是我切换到应用程序包的原因),它说:

  • 我试图上传一个全新的. aab文件到谷歌播放控制台,但一直得到这个错误: 上载失败 您上载了一个APK或Android应用程序捆绑包,该捆绑包使用一个密钥进行签名,该密钥也用于对交付给用户的APK进行签名。由于您已通过Google Play注册了应用程序签名,因此在上传之前,您应该使用新密钥对APK或Android应用程序包进行签名。 我完全被难住了,因为我在生成应用程序包时为这个应用程序包生成了