2010-11-29 6 views
14

StartCom SSL 인증서를 사용하는 서비스에 액세스하는 Java 응용 프로그램이 있습니다. 이 기능을 사용하려면 StartCom CA 인증서를 Java의 트러스트 스토어에 추가해야합니다. 기본적으로 아직 거기에 없기 때문입니다. 나는 성공적으로 리눅스에하지만 Windows에서 작동하지 않습니다 이러한 명령 (this script에서) Windows에서 StartCom CA 인증서 가져 오기 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 

같은 명령 (적절하게 적응)를 사용하는 것을 완료했습니다. 내가 얻은 :

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

어떻게 작동 시키는가?

+0

안녕 난 여전히 오류를 받고 있어요 .. 그것을 해결하는 방법. 가혹한 Raval. –

+0

Windows에서 두 개의 Java 키 저장소 (JDK 용 패키지와 C : \ Program Files \에있는 공용 JRE 용 패키지)를 자주 사용한다는 사실을 잊지 마십시오. 이 경우 두 상점에 certs를 추가해야합니다. –

답변

5

단순한 오타였습니다. 명령을 변환 할 때 "trustcacerts"앞에 대시를 잊어 버렸습니다. . :(

0

제거 -trustcacerts

0

예, -trustcacerts

올바른 구문은 그러나 링크 된 스크립트가 Cygwin에서에서 작동하는 모든 keytool 라인에서 sudo를 제거해야합니다 -. sudo Cygwin에서에서 사용할 수 없습니다

2

맥 OS에 X 매버릭스 10.9 내가이 짓 :

난 항상 나중에 삭제하려면 tmp 디렉토리를 만들지 만, 당신이 필요는 없습니다에 :

mkdir ~/tmp 
cd ~/tmp 
,536,913 63,210

그런 다음 인증서 표시를 다운로드 :

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 

를 자바 집에 가서 :

$ /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 
관련 문제