繁体   English   中英

SSLHandshakeException:收到致命警报:handshake_failure

[英]SSLHandshakeException: Received fatal alert: handshake_failure

尝试连接服务器时遇到此Java SSL错误。 在运行应用程序时,我们会收到此错误,然后必须重新启动应用程序以使其再次可用。 有人可以帮忙吗?

at java.lang.Thread.run(Thread.java:662)
Caused by: com.sun.xml.internal.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:161)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:133)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:165)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93)
at javax.xml.ws.Service.<init>(Service.java:56) 

我在这里遇到类似的问题,所以从这里接了

当您要连接的服务器没有来自授权CA的有效证书时,通常会引发javax.net.ssl.SSLHandshakeException异常。

简而言之,您尝试连接的服务器很可能使用自签名证书,因此您必须在Java代码中容纳该证书。 这涉及创建自定义KeyStore等。

我所做的只是向服务器提供了密钥库和密钥库密码(在系统属性中进行设置),该异常消失了。

javax.net.ssl.keyStore=../keystore/keystoreFile.jks
javax.net.ssl.keyStorePassword=yourPassword
javax.net.ssl.trustStore=../keystore/keystoreFile.jks
javax.net.ssl.trustStorePassword=yourPassword
javax.net.debug=true

您可以使用keytool生成密钥库(位于jdk / bin / keytool中)

keytool -genkey -alias myKeyStore -keyalg RSA -keystore /home/aniket/keystore/keystoreFile.jks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM