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

使用PEPK.jar导出Google Play私钥报错,应选用哪个JDK版本?

PEPK工具加密私钥报错:无法找到RSA/NONE/OAEPWithSHA1AndMGF1Padding算法支持的解决方案

问题详情

PEPK(Play Encrypt Private Key)用于从Java Keystore导出私钥并加密,以提交至Google Play完成应用签名注册。执行以下命令:

java -jar pepk.jar --keystore=huoshanbox.jks --alias=huoshanbox --output=output.zip --include-cert --rsa-aes-encryption --encryption-key-path=encryption_public_key.pem

输入密钥库及密钥密码后,触发如下错误:

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:563)
    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)

已尝试JDK 11、17、20的通用OpenJDK版本,均出现相同报错,需确定合适的JDK版本。

可行的JDK版本选择

  • Oracle JDK 11:官方发行版默认包含完整的加密算法套件,RSA/NONE/OAEPWithSHA1AndMGF1Padding算法直接受支持,可直接解决该问题。
  • Eclipse Temurin 11:原AdoptOpenJDK的开源延续版本,默认集成必要的加密扩展,完全支持目标算法,且免费可用。
  • Azul Zulu 11:合规的OpenJDK发行版,完整保留加密算法实现,能满足PEPK工具的需求。

原因解析

报错根源是当前JDK的加密提供者未包含目标算法实现。部分OpenJDK发行版因许可限制或裁剪优化,默认移除了该算法;而上述推荐的JDK版本,均完整保留了加密算法套件,适配PEPK的加密需求。

若不愿更换JDK版本,也可通过添加BouncyCastle加密提供者弥补算法缺失,但切换至合规JDK版本是更简便直接的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:13:13