收藏
回答

GP签名升级导致的微信分享签名不一致,可能的解决方案?

背景

  1. GooglePlay 签名保护计划,默认推荐使用Google签名,导致 GooglePlay 安装的App最终使用的是 Google 签名;
  2. 对于有多个渠道的App,不同渠道的签名不一致,但是微信开放平台一个应用只支持配置一个签名,Google渠道由于签名保护计划使用了Google生成的签名,导致微信分享提示签名不一致;
  3. Google提供了签名升级,升级为自己的签名,但微信分享还是提示签名不一致;

原因

  1. 通过反编译 微信官方提供的签名工具(https://res.wx.qq.com/wxdoc/dist/assets/media/Gen_Signature_Android.e481f889.zip),发现微信获取三方App签名使用的是 PackageInfo.signatures 字段,该字段已被丢弃,在 v3签名包含多个签名时,获取到的是旧的签名;新版 Android SDK 推荐使用 PackageInfo.signingInfo.getApkContentsSigners() 和 PackageInfo.signingInfo.getSigningCertificateHistory(),会包含 v3 签名的多个签名信息;

解决方案

  1. 微信开放平台支持一个App配置多个应用签名;
  2. 签名验证过程替换新API做校验(原因部分提到的);

总结

  1. 整体看下来,还是得微信官方来解决这个问题,我看微信开放社区很多人都遇到了该问题(有些是一年前提的问题,到目前没有满意答复),都没得到解决,希望微信官方能解决下这个问题,拜托🙏
回答关注问题邀请回答
收藏

1 个回答

  • 智能回答 智能回答 该问答由AI生成
    2024-12-31
    有用
登录 后发表内容