You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何验证Play Integrity verdict中的证书SHA-256摘要有效性?

Play Integrity API证书SHA-256摘要不匹配问题解决

你遇到的核心问题是:Play Integrity返回的SHA-256摘要对应Google Play端的应用签名证书,而非你本地构建用的签名证书,这也是为什么./gradlew signingReport的结果和verdict不匹配的原因。以下是具体的排查和解决方法:

1. 明确证书类型差异

  • 如果你启用了「Google Play应用签名」(App Signing by Google Play),Google会托管最终的应用签名证书,用户下载的APK是用这个证书签名的。Play Integrity返回的certificateSha256Digest就是这个托管证书的SHA-256。
  • ./gradlew signingReport输出的是你本地构建APK/AAB时使用的签名密钥(可能是上传密钥或调试密钥)的摘要,和Play端的签名证书不是同一个,自然不匹配。

2. 获取正确的SHA-256摘要

方法一:从Google Play控制台直接获取

  1. 登录Google Play控制台,进入你的应用页面
  2. 左侧菜单选择「应用签名」
  3. 在「应用签名证书」区域,找到SHA-256指纹,去掉所有冒号并转为小写,这就是Play Integrity会返回的值。

方法二:通过证书文件计算(若已下载)

如果你下载了Google Play提供的应用签名证书文件(.der格式),可以用以下命令计算SHA-256:

# 将DER格式证书转为PEM公钥,再计算SHA-256并转为十六进制
openssl x509 -in app-signing-cert.der -inform DER -pubkey -noout | openssl pkey -pubin -outform DER | openssl dgst -sha256 -binary | xxd -p -c 256

输出结果即为无冒号的小写SHA-256字符串,和Play Integrity返回值一致。

3. 验证匹配

将你获取到的正确SHA-256字符串,和Play Integrity返回的certificateSha256Digest数组中的值对比,完全一致即为有效。

如果没有启用Google Play应用签名,那么返回的摘要应该和你上传APK/AAB时使用的签名证书一致,此时再核对./gradlew signingReport中对应构建变体的SHA-256。

内容的提问来源于stack exchange,提问作者Vince

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:41:01