web-dev-qa-db-fra.com

javax.net.ssl.SSLHandshakeException: alerte fatale reçue: handshake_failure

Je poste cette question après avoir essayé de nombreuses options à partir de deux jours. Voici les options que j'ai essayées.

  1. Désactiver la validation du certificat SSL
  2. En téléchargeant crt à partir du navigateur, en convertissant .jks et en important le magasin de clés.

Je reçois toujours ce problème, toute aide très appréciée d’avance.

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at Sun.security.ssl.Alerts.getSSLException(Alerts.Java:192)
at Sun.security.ssl.Alerts.getSSLException(Alerts.Java:154)
at Sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.Java:1943)
at Sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.Java:1059)
at Sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.Java:1294)
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1321)
at Sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.Java:1305)
at Sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.Java:523)
at Sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.Java:185)
at Sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.Java:1296)
at Sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.Java:254)
at com.honeywell.sensibo.api.NewMain.main(NewMain.Java:73)
17
Viks

Problème résolu.!!! Voici les solutions.

Pour Java 6: Ajoutez les fichiers JAR ci-dessous dans {Java_HOME}/jre/lib/ext . 1. bcprov-ext-jdk15on-154.jar 2. bcprov-jdk15on-154.jar

Ajoutez une propriété dans {Java_HOME} /jre/lib/security/Java.security security.provider.1 = org.bouncycastle.jce.provider.BouncyCastleProvider

Java 7: lien de téléchargement du fichier ci-dessous et ajout à {Java_HOME}/jre/lib/security http://www.Oracle.com/technetwork/Java/javase/downloads/jce-7-download-432124 .html

Java 8: lien de téléchargement du fichier ci-dessous et ajoutez-le à {Java_HOME}/jre/lib/security http://www.Oracle.com/technetwork/Java/javase/downloads/jce8-download-2133166.html

Le problème est qu'il n'est pas possible de décrypter 256 bits de cryptage.

62
Viks

Je reçois récemment des erreurs similaires car les JDK récents (et les navigateurs, ainsi que la pile TLS Linux, etc.) refusent de communiquer avec certains serveurs du réseau d'entreprise de mon client. La raison en est que certains serveurs de ce réseau ont toujours des certificats SHA-1.

Veuillez consulter: https://www.entrust.com/understanding-sha-1-vulnerabilities-ssl-longer-secure/https://blog.qualys.com/ssllabs/2014/09/09/sha1-deprecation-ce-que-vous-devez-savoir-savoir

Si tel est votre cas actuel (JDK récent vs certificat déconseillé), la meilleure solution consiste à mettre à jour votre réseau avec la technologie d’enregistrement appropriée.

Au cas où vous auriez à fournir une solution temporelle pour cela, veuillez consulter une autre réponse pour avoir une idée de la façon de faire confiance à votre JDK ou de vous méfier de certains algorithmes d’enregistrement:

Comment forcer le serveur Java à n'accepter que les versions 1.2 et à rejeter les connexions 1.0 et 1.1

Quoi qu'il en soit, j'insiste sur le fait que, dans le cas où j'ai bien deviné votre problème, ce n'est pas une bonne solution et que votre administrateur réseau devrait envisager de supprimer ces certificats obsolètes et en obtenir un nouveau.

0
Jorge_B