Je poste cette question après avoir essayé de nombreuses options à partir de deux jours. Voici les options que j'ai essayées.
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)
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.
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:
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.