【问题标题】:Google play app signing process certificatesGoogle Play 应用签名流程证书
【发布时间】:2021-01-13 10:57:20
【问题描述】:

我正在尝试通过 Play 应用签名了解签名过程。 因此有几个问题。

  1. 我正在使用google maps API,为什么我需要在控制台上添加应用签名密钥证书的SHA-1证书指纹?为什么我不能使用本地电脑上生成的 SHA 1?
  2. 我需要对从发布生成的 provate_key.pepk 做什么?
  3. deployment_cert.der 的用途是什么?
  4. upload_cert.der 的用途是什么?

你能解释一下签署应用程序的正确过程以及如何使用它吗?

还有here

现有应用程序->第 2 步->5 Syas:选择最适合您的发布过程的导出和上传选项并上传现有应用程序签名密钥。

我没有看到上传现有应用签名密钥的选项...

【问题讨论】:

  • 也有兴趣进一步了解该过程。虽然我一直在使用通过 Android Studio 在本地机器上生成的密钥库对我的应用程序进行签名。从未将我的任何密钥库/证书上传到门户网站。

标签: android google-play android-app-signing


【解决方案1】:

Play 商店的应用签名流程如下所示,

Google Play 签名使用两个密钥。

  • 上传密钥
  • 应用签名密钥

上传密钥

TL;DR:Google 使用此密钥来识别 apk/bundle 的上传者

此密钥用于在上传到 Play 商店时对 apk/bundle 进行签名。此密钥让 Android 知道应用更新是真实的并且来自原作者。

upload_cert.der 是上传密钥的公钥。

应用签名密钥

此密钥用于对安装在用户设备中的 APK 进行签名。您可以让 Google 管理密钥

deployment_cert.der 是应用签名密钥的公钥。

所以回答你的问题,

  1. 如果您的设备正在运行使用upload key(开发者密钥)签名的应用程序,API 控制台中的指纹应与upload key 匹配,反之亦然,如果您设备中的应用程序使用App Signing key 签名,您需要有相同的指纹。通常,从 android studio 构建的签名 apk/bundle 使用您选择的 upload key 签名。从 Play 商店安装的应用使用 App Signing Key

  2. 请注意安全,Google 需要在推送更新时识别作者身份。

  3. 查看App Signing Key 部分

  4. 查看Upload Key 部分

【讨论】:

  • 既不是upload key也不是App Signing Key签名但使用本地密钥库的应用程序呢?这与您所解释的有两件事不同吗?
  • @TommyLeong 与 Google Play 签署这两个密钥是适用的。对于调试,所需的签名密钥是在$HOME/.android/debug.keystore 自动生成的,这是不安全的,只是满足调试的目的(每次构建代码时都不必输入密码、用户名和相关内容)。 Google Play 商店接受使用调试证书签名的应用在其商店中发布。
  • @AllІѕVаиітy 你碰巧知道 - 如果我允许谷歌签署我的二进制文件,我有什么办法知道包签名吗?我使用 context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES) 来获取签名并解密一些以前用它加密的数据。但是,如果我允许 Google 签名 - 我的安全性会失败吗?
猜你喜欢
  • 2022-01-09
  • 1970-01-01
  • 2019-10-14
  • 2013-06-23
  • 2017-10-19
  • 2018-02-05
  • 2023-03-10
  • 2022-07-13
  • 1970-01-01
相关资源
最近更新 更多