读取公开证书

APK 签名证书 SHA-256 指纹怎么获取与核对

注册查询需要 APK 签名证书 SHA-256 指纹,而不是整个 APK 文件的 SHA-256,也不是 SHA-1。优先对用户实际收到的正式 APK 执行 apksigner verify --print-certs,再复制证书 SHA-256 对应的输出。

指南摘要

获取 APK 签名证书 SHA-256 指纹,区分 Play 应用签名证书、上传证书与文件哈希,并规范化查询格式。

适合人群: 需要为注册查询准备签名输入,或正在排查 Play 与其他渠道证书差异的 Android 发布团队。

发布检查步骤

  1. 找到用户实际安装的正式 APK,确认渠道与版本。
  2. 执行 apksigner verify --print-certs,读取证书 SHA-256 行。
  3. Play 分发版本核对应用签名证书,不要误用 AAB 上传证书。
  4. 去除冒号等格式分隔后核对 64 位十六进制值,再与包名一起查询。

关键事实

所需摘要签名证书 SHA-256
规范格式64 位十六进制字符
无需提供私钥、密钥库或密码
注意事项

证书指纹用于公开身份比对。不要用文件校验工具计算的 APK 文件哈希替代,也不要为了取得指纹而上传私钥。

详细说明

从正式 APK 提取 SHA-256

运行下列命令,查找 Signer #1 certificate SHA-256 digest 一行。复制完整证书指纹,别复制旁边的 SHA-1,也别拿调试包的结果用于正式发布。示例中的省略号只表示演示,实际查询必须使用完整值。

Android build-tools 命令
apksigner verify --print-certs app-release.apk
# Signer #1 certificate SHA-256 digest: d6ac...9e06

Play Console 中两个证书应该选哪个

Play 应用签名证书对应 Google Play 交付给用户的 APK;上传证书验证 CI 提交的 AAB。两者用途不同,针对已分发应用的注册检查通常应使用应用签名证书。其他商店应从各自的正式 APK 读取,不能假定与 Play 相同。

  • 应用签名证书:核对 Play 用户收到的版本。
  • 上传证书:核对上传到 Play 的身份。
  • 第三方渠道:检查该渠道真实产物。

整理格式,不接触私有签名材料

PkgReady 接受带冒号或紧凑格式的 SHA-256,并规范化为 64 位十六进制值。以下仅展示格式,不是可直接使用的指纹。保留原始输出以便核对,不需要提交 keystore、密码或私钥。

支持的指纹格式示意
D6:AC:89:ED:...:9E:06
d6ac89ed...9e06

填入正式包名;要核对实际 APK 的签名,再补充该产物的公开证书 SHA-256。查询用于发现登记问题,不能代替商店审核。

运行状态检测 →

常见问题

SHA-1 或 APK 文件哈希能代替吗?

不能。这次状态查询比对的是公开签名证书的 SHA-256。SHA-1 是另一种证书摘要,而 APK 文件哈希描述的是整个文件;即使都看起来像十六进制字符串,也不能互换。

为什么 Play Console 显示两个证书?

启用 Play App Signing 后,上传密钥验证 AAB 上传,应用签名密钥签署交付给用户的 APK。先明确要检查的是上传错误还是安装版本的注册身份,再选相应证书。

来源与审核

最后审核: