如何解决“密钥创建时出错:”
Posted
技术标签:
【中文标题】如何解决“密钥创建时出错:”【英文标题】:How to solve "Key was created with errors:" 【发布时间】:2019-10-06 11:55:48 【问题描述】:JKS 密钥库使用专有格式。建议迁移 到 PKCS12,这是一种使用“keytool”的行业标准格式 -importkeystore -srckeystore -destkeystore -deststoretype pkcs12"
在生成密钥时,我在使用 android studio 3.4(32 位版本)时遇到此类错误,但是当我在另一台使用 android studio 3.4(64 位)的笔记本电脑中生成相同的源代码到 apk 时版本)。它在 64 位笔记本电脑和 android studio 中运行良好。
【问题讨论】:
【参考方案1】:我今天遇到了同样的问题,Android 似乎希望我们将密钥从 JKS 专有格式迁移到 PKCS12 格式(如警告所示)。 为此,您需要使用 Android Studio 附带的 keytool。
1。找到keytool.exe
keytool.exe 通常位于文件夹 C:\Program Files\Android\Android Studio\jre\bin 中。如果你在那里找不到 keytool,那么你必须搜索它。
2。使用 Windows cmd 导航到 jre 文件夹
在 Windows 中,打开 cmd 并键入:
cd C:\Program Files\Android\Android Studio\jre\bin
当然,如果你的keytool.exe存放在其他位置,你需要在cd
后面输入正确的路径
3。更改密钥库格式
在 cmd 中您已经导航到包含 keytool.exe 的文件夹,所以现在您可以在 cmd 中输入以下命令:
keytool -importkeystore -srckeystore your_keystore_destination\your_keystore_file.jks -destkeystore your_keystore_destination\your_keystore_file.jks -deststoretype pkcs12
别忘了改变
your_keystore_destination\your_keystore_file.jks
使用正确的路径。在你的例子中它会是
D:\App Collection\App1 All in one Collection\keystorefile.jks
注意:
如果您为密钥库和密钥指定了不同的密码,则需要在步骤 3 的命令中添加 -destkeypass your_key_password
!
【讨论】:
尝试这个我得到一个警告:成功迁移到非 JKS/JCEKS。安全副本已保存为:path\keyStoreFile.jks.old。检查新文件仍然是 file.jks....可能出了什么问题?或者这是预期的结果?我期待看到一个 file.pcks12....谢谢大家分享... 编辑:只需在上面的第三步尝试将 .jks 扩展名替换为 .p12 扩展名,就在第二个路径(将保存新文件的路径)上,您将收到一个成功导入消息和 .p12 文件...无论如何感谢 Leon 的分享,祝大家编码愉快...【参考方案2】:从keyStore
文件所在的文件夹打开终端时,以下命令在 Mac 上对我有用:
keytool -importkeystore -srckeystore YOURKEYSTOREFILENAME -destkeystore YOURKEYSTOREFILENAME.p12 -srcstoretype JKS -deststoretype PKCS12
【讨论】:
【参考方案3】:我只是忽略了这个错误并使用了生成的密钥。我可以毫无困难地上传我的应用程序。
【讨论】:
以上是关于如何解决“密钥创建时出错:”的主要内容,如果未能解决你的问题,请参考以下文章