密钥库证书适用于Eclipse,但Tomcat没有

时间:2014-07-11 20:37:36

标签: java eclipse web-services tomcat keystore

我有一个在Eclipse中运行的应用程序,工作正常,连接并从需要证书的webservice获得响应。 但是当我在Tomcat中部署和运行时,我收到了有效认证的错误:

java.lang.Exception
Message
; nested exception is: javax.net.ssl.SSLHandshakeException:      
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid 
certification path to requested target

在我的tomcat中:

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
disableUploadTimeout="true" enableLookups="false" maxThreads="25"
port="8443" keystoreFile="webapps/.keystore" keystorePass="123456"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS" />

在我的应用程序中,我有另一个到webservice的密钥库:

System.setProperty("javax.net.ssl.keyStore", SIC.jks);
System.setProperty("javax.net.ssl.keyStore", keyStore);
System.setProperty("javax.net.ssl.keyStorePassword", keyStorePassword);
System.setProperty("javax.net.ssl.trustStore", trustStore);
System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword);

我尝试从keytool导入证书到cacerts而没有...

我没有任何想法,我的工作时间已经结束......我该怎么做才能解决这个问题?

我尝试了所有的东西......我在Eclipse工作,但是在部署tomcat时,我得到了上面的错误。

1 个答案:

答案 0 :(得分:0)

两个建议
1.指定keystoreFile的完整路径。例如

/opt/webapps/.keystore
2.请勿在密码中使用特殊字符“ @ ”。