2017-12-18 385 views
1

我的eclipse插件应用程序仍然获取SSLProtocolException:握手警报:java版本“1.8.0_141”上的无法识别的名称,尽管我遵循一些提示禁用了SNI扩展。javax.net.ssl.SSLProtocolException:handshake alert:java 1.8上的无法识别的名称

[INFO] Property jsse.enableSNIExtension=false 
[FATAL] javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name 
at sun.security.ssl.ClientHandshaker.handshakeAlert(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) 

请帮我解决这个问题,谢谢。

回答

0

如果与SNI一起发送的名称是意外的,则无法识别的名称警报可能会被服务器发回。但是如果服务器要求使用SNI并且客户端没有发送服务器名称,它也可能被发回。像你这样禁用SNI可以触发第二种情况,即服务器需要SNI,但客户端不提供它。

解决此错误的正确方法是使用SNI扩展名并将名称设置为服务器预期的名称。

相关问题