Android:应用签名证书和上传证书有什么区别?

问题描述 投票:0回答:3

应用签名证书和上传证书有什么区别? 我在将 Google Play 游戏与我的应用程序集成时遇到问题(我将此作为另一个问题发布),并且我注意到用于在 Google API 控制台上自动生成的客户端 ID 的证书称为签名证书。
但是,当我在 Android Studio 上运行登录报告时看到的内容称为上传证书。

client Id 应该设置哪一个?顺便说一句,两者都没有解决我的问题,但我很好奇其中的区别。

android android-studio google-play-games
3个回答
5
投票

签署证书

某些 Google Play 服务(例如 Google 登录和应用程序邀请) 要求您提供签名证书的 SHA-1,以便我们可以 为您的应用程序创建 OAuth2 客户端和 API 密钥。 欲了解更多信息,请参阅:doc


上传证书

当您发布未经上传密钥签名的应用程序时, Google Play 管理中心提供了注册一个以供将来使用的选项 更新应用程序。虽然这是一个可选步骤,但它 建议您使用与 Google Play 用于将您的应用分发给用户的应用程序。那样, Google 会确保您的签名密钥安全,并且您可以选择重置 私人上传密钥丢失或泄露。本节介绍如何 创建上传密钥,从中生成上传证书,以及 向 Google Play 注册该证书,以便将来更新您的 应用程序。 欲了解更多信息,请参阅:doc


1
投票

Play Store 中的应用程序需要签名才能在用户设备上发布和/或更新。这样,除了您掌握密钥之外,没有人可以向您的应用程序发布更新。但是,如果您丢失了此密钥(称为发布密钥),则一切都会丢失,因为您将无法再更新您的应用程序。

因此,Google 创建了

应用程序签名,他们为您保存发布密钥(以避免上述情况),而不是您使用更新密钥来发布新更新。与以前类似,只有您可以访问此密钥,但如果您丢失了它或它被泄露,您可以随时请求新的密钥和/或撤销它,从而使您的应用程序不受影响,因为发布密钥在 Google 服务器中仍然是安全的。

这就是为什么某些服务(例如您的服务)要求您向他们提供发布证书(而不是密钥),您可以在 Play 商店仪表板的应用程序完整性中找到该证书。


0
投票
另一个注意事项是,如果您同时使用两个密钥(实际上您可以选择管理自己的密钥而不是选择加入 Play App Signing,但我在这里没有提及):

  • upload key
    (您的本地密钥库):通常将新应用程序提交到 PlayStore,但只是为了验证您提交新版本应用程序,并对您的 apk 进行签名以在本地进行测试,例如当您开发并分发给您的团队/QC 进行测试时。
  • signing key
    (Google管理):当用户从PlayStore下载您的应用程序时,此应用程序将再次使用签名密钥重新签名
然后使用某些服务需要 sha 指纹,例如深层链接(应用程序链接),然后

记住为两个密钥提交 sha 指纹(上传密钥和签名密钥),以便服务可以正常用于本地 apk 应用程序和 PlayStore 应用程序

© www.soinside.com 2019 - 2024. All rights reserved.