J'ai un package java conforme pour parler avec le serveur https sur le net. L'exécution de la compilation donne l'exception suivante:
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.sun.net.ssl.internal.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)
Je pense que cela est dû au fait que la connexion établie avec la machine cliente n'est pas sécurisée. Existe-t-il un moyen de configurer la machine ou les ports locaux afin de se connecter au serveur https distant?
HttpURLConnection
fera automatiquement pour vous, si vous ne spécifiez pas du tout de port.Vous devez avoir un nom de domaine SMTP local qui contactera le serveur de messagerie et établira une nouvelle connexion.Vous devez également modifier la propriété SSL dans votre programmation ci-dessous
la source
J'ai reçu le même message d'erreur lorsque j'ai oublié de me connecter au pare-feu de l'entreprise, avant d'effectuer une requête POST via un proxy.
la source
J'ai eu la même erreur. c'était parce que j'accédais au port https en utilisant http .. Le problème résolu lorsque j'ai changé http en https.
la source
Je suis confronté au même problème avec l'application Java intégrée à l'IDE Jdevelopr 11.1.1.7. J'ai résolu le problème en décochant l'utilisation des propriétés du projet du formulaire de procuration.
Vous pouvez le trouver dans ce qui suit: Propriétés du projet -> (à partir du panneau de gauche) Exécuter / Déboguer / Profil -> Cliquez sur (modifier) dans le panneau de droite -> Paramètres d'outil dans le panneau de gauche -> décochez l'option (Utiliser un proxy).
la source
Ajouter ceci comme réponse car cela pourrait aider quelqu'un plus tard.
J'ai dû forcer jvm à utiliser la pile IPv4 pour résoudre l'erreur. Mon application fonctionnait au sein du réseau de l'entreprise, mais lors de la connexion depuis la maison, elle donnait la même exception. Aucun proxy impliqué. Ajout de l'argument jvm
-Djava.net.preferIPv4Stack=true
et toutes leshttps
requêtes se comportaient normalement.la source
Si vous exécutez localement avec Spring, je suggérerais d'utiliser:
Cela fonctionne pour moi en utilisant le test unitaire.
J'espère que ça aide!
la source
Cela a fonctionné pour moi maintenant, j'ai modifié les paramètres de mon compte Google comme ci-dessous:
Bien que j'ai activé SSL et TSL lors de l'exécution du programme dans ce lien du même message. Je passe beaucoup de temps mais je m'en suis rendu compte et j'ai trouvé ce lien. Et fait 2 étapes suivantes et réglage du contrôle dans Google. :
Désactivez la vérification en 2 étapes (mot de passe et OTP)
Activation pour autoriser l'accès à une application moins sécurisée ( Autoriser les applications moins sécurisées: ACTIVÉ. )
Maintenant, je peux envoyer du courrier en utilisant le programme ci-dessus.
la source
Comme l'a dit EJP, c'est un message affiché en raison d'un appel à un protocole non-https. Si vous êtes sûr qu'il s'agit du HTTPS, vérifiez vos paramètres de contournement de proxy et, au cas où vous seriez, ajoutez l'URL de l'hôte de votre service Web à la liste de contournement de proxy.
la source
si la connexion est un test FTPS:
FTPSClient ftpClient = nouveau FTPSClient (protocole, faux);
protocol = TLS, SSL et false = isImplicit.
la source
J'étais confronté à cette exception lors de l'utilisation de Gmail.
Pour utiliser Gmail, j'ai dû activer "Autoriser les applications moins sécurisées" .
Ce paramètre Gmail est disponible à l' adresse https://www.google.com/settings/security/lesssecureapps après la connexion au compte Gmail.
la source
VOICI UNE RÉPONSE TRÈS IMPORTANTE:
Il vous suffit de changer la chaîne d'URL de votre API (dans votre méthode) de https à http. Cela pourrait également être la cause:
au lieu de
la source
J'ai eu le même problème et il a été résolu en définissant "proxyUser" et "proxyPassword" dans les propriétés système.
avec "proxyHost" et "proxyPort"
J'espère que cela fonctionnera.
la source
J'ai résolu mon problème en utilisant le port 25 et l'accessoire suivant
la source
Au cas où vous courriez
essayez d'arrêter le (s) service (s).
Je ne sais pas pourquoi j'ai obtenu un vote négatif pour cette réponse. Dans notre réseau d'entreprise, c'est la solution au problème.
la source
J'ai eu une erreur similaire en utilisant le composant camel-mail pour envoyer des e-mails par gmail smtp.
La solution changeait du port TLS (587) au port SSL (465) comme ci-dessous:
la source
Si vous exécutez le processus Java à partir de la ligne de commande sur Java 6 ou une version antérieure, l'ajout de ce commutateur a résolu le problème ci-dessus pour moi:
-Dhttps.protocols = "TLSv1"
la source
Peut-être que votre certificat par défaut a expiré. pour le renouveler via la console d'administration allez "Sécurité> Certificat SSL et gestion des clés> Magasins de clés et certificats> NodeDefaultKeyStore> Certificats personnels" sélectionnez l'alias "par défaut" et cliquez sur "renouveler" puis redémarrez WAS.
la source
Une autre raison est peut-être «accès refusé», peut-être que vous ne pouvez pas accéder à l'URI et à la page de réponse de blocage reçue pour l'accès au réseau interne. Si vous n'êtes pas sûr que votre zone d'application ait besoin d'une règle de pare-feu, vous essayez de vous connecter à partir du terminal, en ligne de commande. Pour GNU / Linux ou Unix, vous pouvez essayer d'exécuter comme cette commande et voir le résultat provient d'une règle de blocage ou d'une adresse vraiment distante:
echo | nc -v yazilimcity.net 443
la source