GooglePlay更改签名秘钥报错(2025最新版)

解决GooglePlay 二次签名导致的第三方sdk签名不对应的问题; 网上找了几个解决办法都是旧版本了,无法使用,此处为最新版。

针对这个问题GooglePlay提供了一次更新签名的机会。

在google console后台找到对应app,从App Integrity中找到App Signing的Setting,找到升级App签名,注意⚠️:只有一次机会。

点击Request key upgrade

按照提示操作后会报错:Cannot find any provider supporting RSA/NONE/OAEPWithSHA1AndMGF1Padding

js 复制代码
Error: Unable to export or encrypt the private key

java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/NONE/OAEPWithSHA1AndMGF1Padding

at java.base/javax.crypto.Cipher.getInstance(Cipher.java:571)

at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.encryptPrivateKeyWithCkmRsaAesKeyWrapEncryption(ExportEncryptedPrivateKeyTool.java:284)

at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.run(ExportEncryptedPrivateKeyTool.java:213)

at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.main(ExportEncryptedPrivateKeyTool.java:165)

报错后,点击下载源码

源码里找到ExportEncryptedPrivateKeyTool文件,RSA/NONE/OAEPWithSHA1AndMGF1Padding,替换为:RSA/ECB/OAEPWithSHA1AndMGF1Padding

接下来把代码重新打包成jar

js 复制代码
cd pepk-src && rm -f pepk-tool.jar && jar cvfm pepk-tool.jar MANIFEST-NEW.MF -C out/production/pepk-src/ . 2>&1 | head -20

找到生成的pepk-tool.jar,需要用新版java,此处我用的jdk 22,低版本会报错。 如果同时安装了几个版本的java,可以用/usr/libexec/java_home -V,会打印你的java路径,使用全路径的java来执行以下命令,或者更新JAVA_HOME。

encryption_public_key.pem就是最开始按照google提示下载下来的文件。

js 复制代码
/Library/Java/JavaVirtualMachines/openjdk-22.0.2/Contents/Home/bin/java -jar /Users/xxx/Downloads/pepk-src/pepk-tool.jar --keystore=你要更新的keystore.keystore --alias=你的别名 --output=output.zip  --signing-keystore=你要更新的keystore.keystore --signing-key-alias=你的别名 --rsa-aes-encryption --encryption-key-path=/Users/xxx/Downloads/encryption_public_key.pem

执行此命令,按照提示输入密码等信息,找到输出的output.zip,上传就好了,大功告成!

相关推荐
我是好小孩12 小时前
【Android】布局优化:include、merge、ViewStub以及Inflate()源码浅析
android
GISer_Jing12 小时前
2025年Flutter与React Native对比
android·flutter·react native
MasterLi802312 小时前
我的读书清单
android·linux·学习
怪兽201413 小时前
fastjson在kotlin不使用kotlin-reflect库怎么使用?
android·开发语言·kotlin
彭同学学习日志13 小时前
Kotlin Fragment 按钮跳转报错解决:Unresolved reference ‘floatingActionButton‘
android·开发语言·kotlin
Gracker14 小时前
Android Perfetto 系列 9 - CPU 信息解读
android
Gracker14 小时前
Android Perfetto 系列 8:深入理解 Vsync 机制与性能分析
android
Gracker14 小时前
Android Perfetto 系列 07 - MainThread 和 RenderThread 解读
android
Gracker14 小时前
Android Perfetto 系列 5:Android App 基于 Choreographer 的渲染流程
android
Gracker15 小时前
Android Perfetto 系列 6:为什么是 120Hz?高刷新率的优势与挑战
android