我在命令行中使用keytool可能存在问题,或者可能缺乏耐心。我成功创建了一个keyStore,并且还成功生成了证书请求。但是,当我尝试从请求生成证书时,它似乎挂起。
在命令行中,这就是我得到的全部
C:\Users\Mark\Desktop\Assignment 9>keytool -gencert -keystore myKeys\myKeys.keys
tore -alias mr -v
Enter keystore password:
Enter key password for <mr>
我没有得到新的提示,它就像在命令行上那样。所以我取消它并再次尝试几次无济于事。我也注意到在进程管理器中有一个keytool.exe在运行。我不确定这是否是一个漫长的过程,如果我应该将它留给自己一点,或者如果有一个命令原因可能会挂起命令。
答案 0 :(得分:2)
我在centos 6 docker容器中遇到了这个问题
我正在运行的命令是......
keytool -import -noprompt -alias root -keystore ./out/keystore.jks -trustcacerts -file ./out/parent.crt -storepass ${jkspass};
我尝试将Java版本更改为(在容器外部运行的版本)并尝试使用-infile,如下所示...
keytool -import -noprompt -alias root -keystore ./out/keystore.jks -trustcacerts -infile ./out/parent.csr -file ./out/parent.crt -storepass ${jkspass};
但没有任何效果!增加内存也没有解决问题。 我切换到官方Java docker容器。 不工作。 我最终放弃了。
如果有人知道修复此问题,请告知。
答案 1 :(得分:1)
对此进行了绊倒 - 当然忘记提供-infile
参数来规范输入CSR文件,因此keytool坐在那里等待输入。
(强制中止命令时显示错误提示: keytool error:java.io.IOException:编码字节太短。)
答案 2 :(得分:0)
不是很长 - 最多5秒你有没有尝试过:
1.查看handle.exe
也许有人持有密钥库?
2.尝试另一个java版本?
答案 3 :(得分:0)
我想你的参数有误,我写这篇文章时遇到了这样的问题:
keytool -import -alias myCert -keystore "C:\Program
Files\Java\jdk1.8.0_144\jre\lib\security\cacerts -file myCert.cer
问题是由于我打开了simbold而未关闭。要解决,我写了:
keytool -import -alias symantec -keystore "C:\Program
Files\Java\jdk1.8.0_144\jre\lib\security\cacerts" -file symantec-root.cer
所以我相信您有一些Parateters女巫是不正确的
答案 4 :(得分:0)
我在使用keytool迁移密钥库时遇到了同样的问题。更糟糕的是,生成的密钥库没有正确的密码。
我意识到我修改了JDK中的默认安全提供程序,添加了BuncyCastle FIPS兼容。
我恢复了原始版本,一切正常。