2017-12-18 397 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擴展名並將名稱設置爲服務器預期的名稱。

相關問題