关键工具错误:java.lang.Exception:密钥库文件存在,但为空

36

我对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 扩展名用于不是文本的内容。 - user207421
@EJP 是的,已经改成了 keystoreFile.jks。 - Aniket Thakur
1个回答

39

删除空的keystoreFile.txt文件,然后再次运行您的第二条命令。

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

它试图使用-keystore标志创建您指定的文件。您第一次命令失败的原因是您给了一个已存在的目录名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接