Hél*_*tin 5 android apk google-play-console
我是 Android 应用程序的维护者之一,该应用程序自 2008 年以来一直在开发。我们目前管理自己的发布密钥,并且希望开始使用新的、更安全的密钥。我们的用户通常从 Play 商店安装,但有些需要通用 APK,我们希望继续发布。我们希望这些与 Play 商店安装/更新兼容,并且我们希望每个版本发布一个(即不是使用新旧密钥签名的两个)。我们的应用程序当前使用v1 和 v2 方案进行签名。
\n据我了解,我们有以下选择:
\n继续管理我们自己的密钥。生成新的现代密钥。在两个键之间创建旋转沿袭。发布时,使用旧密钥、新密钥以及使用v3 方案的沿袭文件进行签名。将其上传到 Play 商店并作为自行发布的通用 APK。
\n选择应用程序签名并上传旧密钥。请求新安装的密钥升级(可能会也可能不会被授予)。在本地生成新的现代密钥。上传该密钥作为更新后的密钥。在 Play 商店中,新密钥将用于新安装,旧密钥将用于现有安装。对于自行发布的通用 APK,我们可以在两个密钥之间创建一个旋转谱系并用它进行签名。
\n选择应用程序签名并上传旧密钥。升级 Android 13+ 的签名密钥。在本地生成新的现代密钥。上传该密钥作为更新后的密钥。在 Play 商店中,Android 13+ 设备将获得使用新密钥签名的安装和更新,所有其他设备将获得使用旧密钥签名的安装和更新。从自行发布的通用 APK 中,我们可以在两个密钥之间创建一个旋转谱系并用它进行签名。
\n在理想的情况下,我们可以注册应用程序签名,让 Google 管理签名并下载单个通用 APK 进行共享。这两种路径都适用于升级所有 Android 版本(我们支持低至 Android 5.1)上的现有安装(旧密钥)。我的理解是,这是不可能的,因为应用程序签名不使用 v3 签名方案或任何其他标准来建立新旧密钥之间的关系。我可以在2020 年 5 月关于应用签名的开发相关文章中找到这方面的最新信息:
\n\n\n当前的密钥升级过程未利用 Android 9 (Pie) 及更高版本中引入的密钥轮换功能。我们目前正在研究对这些操作系统版本上的设备使用应用程序签名 v3 进行密钥轮换的支持,一旦准备就绪,我们将在单独的公告中通知开发人员社区。
\n
我找不到相关的公告或文档。
\n我是否正确理解了我们的选择?有什么理由不继续管理密钥并使用 v3 方案在 Android 9 及更高版本上轮换?
\n编辑:我之前问过“Android 13+ 的升级签名密钥”与“请求新安装的密钥升级”有何不同?\n并在Android 13 发行说明中找到了部分答案:
\n\n\n\xe2\x80\x9cAPK 签名方案 v3.1 允许应用程序在单个 APK 中支持原始签名者和轮换签名者,并且还支持 SDK 版本定位。\xe2\x80\x9d
\n
概述中有更多内容。我的理解是,应用程序签名现在确实使用密钥轮换,但仅限于 v3.1 方案,该方案仅在 Android 13+ 中受支持。不过,这与Play 管理中心帮助不一致中的
\n\n\n注意:在 Play 管理中心中为新安装请求应用签名密钥升级与 Android P 及更高版本的 APK 签名方案 v3 中引入的密钥轮换无关。
\n
小智 2
背景:我是负责 Google Play 应用签名的团队的一员。
关于升级签名密钥的可用选项:
- 继续管理我们自己的密钥。生成新的现代密钥。在两个键之间创建旋转沿袭。发布时,使用旧密钥、新密钥以及使用 v3 方案的沿袭文件进行签名。将其上传到 Play 商店并作为自行发布的通用 APK。
Play 不支持直接在 APK 上使用轮换谱系。
- 选择应用程序签名并上传旧密钥。请求新安装的密钥升级(可能会也可能不会被授予)。在本地生成新的现代密钥。上传该密钥作为更新后的密钥。在 Play 商店中,新密钥将用于新安装,旧密钥将用于现有安装。对于自行发布的通用 APK,我们可以在两个密钥之间创建一个旋转谱系并用它进行签名。
请求对新安装进行密钥升级将被批准(这也是一项自助服务)——但这不是推荐的方法。另请注意,这种密钥升级的情况是在两个密钥(旧密钥和新密钥)彼此不相关的基础上进行的。换句话说,新密钥将仅用于新安装及其更新,而旧密钥将仅用于现有安装及其更新。对于自行发布的通用 APK,如果它使用轮换谱系进行签名,则使用新密钥签名的 APK 的更新将不起作用(至少对于不支持密钥轮换的 Android P (9) 之前的版本) 。
- 选择应用程序签名并上传旧密钥。升级 Android 13+ 的签名密钥。在本地生成新的现代密钥。上传该密钥作为更新后的密钥。在 Play 商店中,Android 13+ 设备将获得使用新密钥签名的安装和更新,所有其他设备将获得使用旧密钥签名的安装和更新。从自行发布的通用 APK 中,我们可以在两个密钥之间创建一个旋转谱系并用它进行签名。
这是在 Play 中升级签名密钥的推荐方法(参考)。在此方法中,利用APK 签名方案 V3.1,其中创建轮换谱系以建立新旧密钥之间的关系。对于自行发布的通用 APK,如果使用 APK 签名方案V3.1使用新旧密钥之间的轮换沿袭进行签名,则它将具有兼容的签名。
对于您引用的Play 管理中心帮助中的注释:
注意:在 Play 管理中心中为新安装请求应用签名密钥升级与 Android P 及更高版本的 APK 签名方案 v3 中引入的密钥轮换无关。
它指的是新安装方法的应用程序签名密钥升级(即您所说的选项中的选项#2)。
| 归档时间: |
|
| 查看次数: |
762 次 |
| 最近记录: |