2010-11-29 18 views
14

Bir StartCom SSL sertifikası kullanan bir hizmete erişen bir Java uygulamasına sahibim. Bunun çalışması için, StartCom CA sertifikalarını Java'nın güven deposuna eklemem gerekiyor, çünkü henüz orada değiller. Ben başarılı linux üzerinde ancak Windows üzerinde çalışmıyor bu komutları (this script itibaren) Windows'da StartCom CA sertifikaları içe aktarma JRE

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 

aynı komutu (uygun şekilde adapte) kullanılarak yaptık. Anlıyorum:

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

Nasıl çalışır?

+0

merhaba ben hala hata alıyorum .. Nasıl çözeceksin. Harsh Raval. –

+0

Windows'da iki Java anahtar deponuz olduğundan daha sık söz etmektesiniz: JDK için bir tane, JRE için ise C: \ Program Files 'altında. Bu durumda, sertifikaları her iki mağazaya da eklediniz. –

cevap

5

Basit bir yazım hatası oldu. Komutu dönüştürürken "güven" ten önce bir tire unutmuştum. . :(

0

Gerdirme elemanlarını çıkarın

0

Evet, -trustcacerts

doğru sözdizimi Ama bağlanmış komut Cygwin çalışması için tüm keytool hatlarından sudo kaldırmak gerekir -. sudo Cygwin kullanılamaz

2

MacOS'de X Mavericks 10.9 Bunu yapan:

hep sonradan silme tmp dizini yapmak ama yok etmek:

mkdir ~/tmp 
cd ~/tmp 

Sonra certs indirmek:

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 ev alın:

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

Kullanım keytool yüklemek için:

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