我有一个在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时,我得到了上面的错误。
答案 0 :(得分:0)
两个建议
1.指定keystoreFile的完整路径。例如
/opt/webapps/.keystore2.请勿在密码中使用特殊字符“ @ ”。