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,上传就好了,大功告成!

相关推荐
柯南二号7 分钟前
【大前端】【Android】把 Activity 重构成 MVVM 的对比示例
android·状态模式
某空m21 分钟前
【Android】Glide的缓存机制
android·缓存·glide
某空m30 分钟前
【Android】Glide的使用
android·glide
QING61830 分钟前
Jetpack Compose 中的 ViewModel 作用域管理 —— 新手指南
android·kotlin·android jetpack
鹏多多37 分钟前
flutter-使用EventBus实现组件间数据通信
android·前端·flutter
ShayneLee81 小时前
Nginx修改请求头响应头
android·运维·nginx
廋到被风吹走1 小时前
【数据库】【MySQL】高可用与扩展方案深度解析
android·数据库·mysql
恋猫de小郭2 小时前
Flutter 官方正式解决 WebView 在 iOS 26 上有点击问题
android·前端·flutter
CaspianSea5 小时前
编译Android 16 TV模拟器(一)
android
廋到被风吹走9 小时前
【数据库】【MySQL】InnoDB外键解析:约束机制、性能影响与最佳实践
android·数据库·mysql