代码之家  ›  专栏  ›  技术社区  ›  Bart van Heukelom

在Windows JRE中导入StartCom CA证书

  •  14
  • Bart van Heukelom  · 技术社区  · 15 年前

    我有一个Java应用程序访问一个使用StistCOM SSL证书的服务。为了实现这一点,我需要将StistCOM 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
    

    如何使其工作?

    4 回复  |  直到 12 年前
        1
  •  5
  •   Bart van Heukelom    15 年前

        2
  •  2
  •   Bjorn    12 年前

    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
    

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

    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
    
        3
  •  0
  •   Maurice Perry    15 年前

        4
  •  0
  •   Andrey Taranov    14 年前

    -trustcacerts

    sudo keytool