2016-04-07 5 views
0

Ich bekomme eine "Ausnahme im Thread" main "javax.net.ssl.SSLHandshakeException: Erhaltene fatale Warnung: handshake_failure" für den folgenden Code. Weiß jemand, wie man es repariert?javax.net.ssl.SSLHandshakeException HttpsURLConnection

import java.io.IOException; 
import java.net.HttpURLConnection; 
import java.net.MalformedURLException; 
import java.net.URL; 

import javax.net.ssl.HostnameVerifier; 
import javax.net.ssl.HttpsURLConnection; 
import javax.net.ssl.SSLSession; 

public class Test { 
static { 
    System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2,SSLv3,SSLv2Hello"); 
    HostnameVerifier hv = new HostnameVerifier() { 
     public boolean verify(String urlHostName, SSLSession session) { 
      return true; 
     } 
    }; 
    HttpsURLConnection.setDefaultHostnameVerifier(hv); 
} 

public static void main(String[] args) throws MalformedURLException, IOException { 
    HttpURLConnection con = (HttpsURLConnection) new URL("https://www.sureworks.de").openConnection(); 
    con.connect(); 
} 
} 
+0

Was die Ausgabe ist, wenn Sie das ausführen JVM mit '-Djavax.net.debug = ssl'? –

+0

Mit welcher Java-Version führen Sie den Test durch? Das Testen der Site mithilfe von SSLLabs zeigt an, dass SNI-Unterstützung für die Verbindung mit der Site erforderlich ist. Das würde Java 1.7 oder später erfordern. – user3745362

Antwort

0

Es gibt einige Crypto-verwandte Sachen, die standardmäßig nicht aktiviert sind. Sie müssen JCE installieren:

PS: SSL Labs gibt Ihnen eine Vorstellung über den Server, den Sie versuchen, den Zugriff auf https://www.ssllabs.com/ssltest/analyze.html?viaform=on&d=https%3A%2F%2Fwww.sureworks.de%2F

Verwandte Themen