質問

StartCom SSL証明書を使用するサービスにアクセスするJavaアプリケーションがあります。これを機能させるには、JavaのTruststoreにStartCom CA証明書を追加する必要があります。デフォルトではまだそこにいないからです。これらのコマンドを使用して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

(から このスクリプト)

ただし、同じコマンド(適切に調整されています)は、Windowsでは機能しません。わかりました:

keytool error: java.lang.RuntimeException: Usage error, trustcacerts is not a legal command

それを機能させる方法は?

役に立ちましたか?

解決

シンプルなタイプミスでした。コマンドを変換する際に、「TrustCaters」の前にダッシュを忘れました。 :(

他のヒント

Mac OS X Mavericks 10.9で私はこれをしました:

私はいつも私が後で削除するTMPディレクトリを作成しますが、あなたはする必要はありません:

mkdir ~/tmp
cd ~/tmp

次に、証明書をダウンロードします:

curl http://www.startssl.com/certs/ca.crt -O
curl http://www.startssl.com/certs/sub.class1.server.ca.crt -O
curl http://www.startssl.com/certs/sub.class2.server.ca.crt -O
curl http://www.startssl.com/certs/sub.class3.server.ca.crt -O
curl http://www.startssl.com/certs/sub.class4.server.ca.crt -O

Javaを家に帰る:

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home

KeyToolを使用してインストールします。

sudo keytool -import -trustcacerts -keystore /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/securitycacerts -storepass changeit -noprompt -alias startcom.ca -file ca.crt

sudo keytool -import -trustcacerts -keystore /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class1 -file sub.class1.server.ca.crt

sudo keytool -import -trustcacerts -keystore /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/securitycacerts -storepass changeit -noprompt -alias startcom.ca.sub.class2 -file sub.class2.server.ca.crt

sudo keytool -import -trustcacerts -keystore /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/securitycacerts -storepass changeit -noprompt -alias startcom.ca.sub.class3 -file sub.class3.server.ca.crt

sudo keytool -import -trustcacerts -keystore /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/securitycacerts -storepass changeit -noprompt -alias startcom.ca.sub.class4 -file sub.class4.server.ca.crt

-trustcacertsを削除します

はい、 -trustcacerts 正しい構文です。

しかし、リンクされたスクリプトがCygwinの下で動作するには、削除する必要があります sudo すべての中から keytool 行 - sudo Cygwinでは利用できません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top