【发布时间】:2011-05-17 04:55:06
【问题描述】:
我有一个 Java 应用程序访问使用 StartCom SSL 证书的服务。为此,我需要将 StartCom CA 证书添加到 Java 的信任库中,因为默认情况下它们还不存在。我已经使用这些命令在 linux 上成功完成了这项工作
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca -file ca.crt
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class1 -file sub.class1.server.ca.crt
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class2 -file sub.class2.server.ca.crt
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class3 -file sub.class3.server.ca.crt
sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class4 -file sub.class4.server.ca.crt
(来自this script)
但是,相同的命令(经过适当调整)在 Windows 上不起作用。我明白了:
keytool error: java.lang.RuntimeException: Usage error, trustcacerts is not a legal command
如何让它发挥作用?
【问题讨论】:
-
嗨,我仍然收到错误..如何解决它。苛刻的拉瓦尔。
-
您忘记提及在 Windows 上通常有两个 Java 密钥存储:一个用于 JDK,另一个用于
C:\Program Files下的公共 JRE。在这种情况下,您已将证书添加到两个商店。
标签: java security certificate keystore truststore