Windows JREにStartCom CA証明書をインポートします
-
29-09-2019 - |
質問
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では利用できません。
所属していません StackOverflow