Google Play更新APP转.aab时私钥导出加密错误求助
解决导出加密密钥时的RSA算法不支持错误
问题场景
上线Google Play的应用需更新版本,从APK转为上传AAB,按要求导出加密密钥时出现以下错误:
Error: Unable to export or encrypt the private key
java.security.NoSuchAlgorithmException: Cannot find any provider supporting
RSA/NONE/OAEPWithSHA1AndMGF1Padding
已更新JDK至最新版本,仍无法解决。
可行解决方案
检查并启用加密提供者
确认JDK安装目录下jre/lib/security/java.security文件中的security.provider配置,确保包含支持该算法的提供者:- 若未配置BouncyCastle提供者,按现有条目序号顺延添加:
security.provider.N=org.bouncycastle.jce.provider.BouncyCastleProvider - 下载对应JDK版本的BouncyCastle JAR包(如
bcprov-jdk15on.jar),放入jre/lib/ext目录
- 若未配置BouncyCastle提供者,按现有条目序号顺延添加:
执行命令时手动指定提供者
在导出密钥的keytool命令中添加-provider参数指定加密提供者,示例:keytool -exportcert -provider org.bouncycastle.jce.provider.BouncyCastleProvider -keystore your_keystore.jks -alias your_alias -file output.cert转换密钥库格式
旧版JKS密钥库可能存在算法兼容问题,可转换为PKCS12格式后重试:keytool -importkeystore -srckeystore your_keystore.jks -destkeystore your_keystore.p12 -srcstoretype JKS -deststoretype PKCS12之后使用转换后的
your_keystore.p12执行导出操作确认命令参数正确性
确保导出命令中明确指定Google要求的算法参数,比如在生成或导出密钥时补充-keyalg RSA参数,避免因参数缺失导致算法匹配失败
内容的提问来源于stack exchange,提问作者Syed Irfan Hussaini
相关产品推荐
相关产品推荐

