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

相关推荐
取个名字太难了~10 小时前
越用越便宜,越用越强大:影像 SDK 的边际成本递减与网络效应实践
android·数码相机·美颜·相机连接·demu
AFinalStone14 小时前
Android 7系统网络(四)Native层(下)—netd Controller详解
android·网络
爱笑鱼14 小时前
Handler(一):post 之后,Runnable 到底在哪个线程执行?
android
木木子2215 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos
雨白15 小时前
C 语言基础:结构体、联合体与枚举
android
阿巴斯甜16 小时前
Android 代码混淆
android
apihz18 小时前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
浪客川19 小时前
AOSP源码隐藏状态栏
android·aosp
没有了遇见19 小时前
AI Agent 是什么?—— 一文理解 LLM、Memory、Skills、Tools、MCP、Workflow,Context
android·前端·程序员
知行合一。。。20 小时前
LangChain--07--智能体、Agent的基本用法
android·数据库·langchain