无法从Android Studio新建.jks文件生成.pem文件报错
生成华为AppGallery所需.pem上传证书时触发"Invalid keystore format"报错
问题描述
向华为AppGallery上传新应用时,平台要求必须提交.pem格式的签名证书。根据Android官方与华为官方文档给出的操作指引,可通过以下keytool命令从上传签名密钥库导出对应证书文件:keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
该命令在较早版本生成的.jks密钥库上可以正常执行,但对Android Studio新生成的.jks签名文件执行时,直接抛出如下错误:
keytool error: java.io.IOException: Invalid keystore format
我查到当前版本Android Studio默认运行在JDK 11环境上,但暂不明确该变动为什么会导致keytool无法识别jks文件,已尝试以下修复方案均未解决问题:
- 将Mac设备本地安装的Java版本升级至Java 8 Update 291
- 将Android Studio升级至最新正式版本(Android Studio Chipmunk | 2021.2.1 Patch 1)
问题进展更新
经建议使用keystore-explorer工具检测密钥文件后确认:Android Studio新生成的、后缀为.jks的签名文件实际为.p12(PKCS12)格式,并非传统的JKS格式密钥库。后续我会验证从该格式文件中提取符合要求的.pem证书的可行方案,确认有效后会同步更新最终解决方法。
内容的提问来源于stack exchange,提问作者Zee
相关产品推荐
相关产品推荐

