【问题标题】:keytool error: java.lang.Exception: Keystore file exists, but is emptykeytool 错误:java.lang.Exception:密钥库文件存在,但为空
【发布时间】:2013-09-25 15:16:57
【问题描述】:

我是 SSL 新手。

我正在尝试使用 keytool 为 SSL 连接创建密钥库。首先我尝试了以下命令

[aniket@localhost bin]$ keytool -genkey -alias myKeyStore -keyalg RSA -keystore
/home/aniket/keystore

它询问我密码和其他详细信息,最后给了我以下错误

keytool error: java.io.FileNotFoundException: /home/aniket/keystore 
(Is a directory)

所以我在 keystore 文件夹中创建了一个文件 keystoreFile.txt 并执行了

[aniket@localhost bin]$ keytool -genkey -alias myKeyStore -keyalg RSA -keystore
/home/aniket/keystore/keystoreFile.txt

现在(没有提示输入密码等)我得到了

keytool error: java.lang.Exception: Keystore file exists, but is empty:
/home/aniket/keystore/keystoreFile.tx

文件的内容应该是什么。我虽然 keytool 会生成密钥对(一个公钥和相关的私钥

【问题讨论】:

  • 密钥库不是文本文件。不要将 .txt 扩展名用于非文本内容。
  • @EJP 是的,将其更改为 keystoreFile.jks。

标签: java ssl keystore keytool


【解决方案1】:

删除空的 keystoreFile.txt,然后再次运行第二个命令

[aniket@localhost bin]$ keytool -genkey -alias myKeyStore -keyalg RSA -keystore
/home/aniket/keystore/keystoreFile.txt

它正在尝试创建您使用-keystore 标志指定的文件。你的第一个命令失败的原因是你给了它一个现有的目录名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-22
    • 2016-11-30
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 2022-09-28
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多