J'essaie d'obtenir des tweets en utilisant la bibliothèque twitter4j pour mon projet java. Lors de ma première exécution, j'ai reçu une erreur concernant le certificat sun.security.validator.ValidatorException
et sun.security.provider.certpath.SunCertPathBuilderException
. Ensuite, j'ai ajouté le certificat Twitter par:
C:\Program Files\Java\jdk1.7.0_45\jre\lib\security>keytool -importcert -trustcacerts -file PathToCert -alias ca_alias -keystore "C:\Program Files\Java\jdk1.7.0_45\jre\lib\security\cacerts"
Mais sans succès. Voici la procédure pour obtenir des tweets:
public static void main(String[] args) throws TwitterException {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("myConsumerKey")
.setOAuthConsumerSecret("myConsumerSecret")
.setOAuthAccessToken("myAccessToken")
.setOAuthAccessTokenSecret("myAccessTokenSecret");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
try {
Query query = new Query("iphone");
QueryResult result;
result = twitter.search(query);
System.out.println("Total amount of tweets: " + result.getTweets().size());
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + " : " + tweet.getText());
}
} catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to search tweets: " + te.getMessage());
}
Et voici l'erreur:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Relevant discussions can be found on the Internet at:
http://www.google.co.jp/search?q=d35baff5 or
http://www.google.co.jp/search?q=1446302e
TwitterException{exceptionCode=[d35baff5-1446302e 43208640-747fd158 43208640-747fd158 43208640-747fd158], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.5}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:177)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:81)
at twitter4j.TwitterImpl.get(TwitterImpl.java:1929)
at twitter4j.TwitterImpl.search(TwitterImpl.java:306)
at jku.cc.servlets.TweetsAnalyzer.main(TweetsAnalyzer.java:38)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
at sun.security.ssl.Handshaker.processLoop(Unknown Source)
at sun.security.ssl.Handshaker.process_record(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.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at twitter4j.internal.http.HttpResponseImpl.<init>(HttpResponseImpl.java:34)
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:141)
... 5 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
... 20 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 26 more
Failed to search tweets: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Réponses:
"more info" > "security" > "show certificate" > "details" > "export.."
. Choisissez le nom et choisissez le type de fichier example.cerVous avez maintenant un fichier avec keystore et vous devez l'ajouter à votre JVM. Déterminez l'emplacement des fichiers cacerts, par exemple.
C:\Program Files (x86)\Java\jre1.6.0_22\lib\security\cacerts.
example.cer
Importez ensuite le fichier dans cacerts en ligne de commande:keytool -import -alias example -keystore C:\Program Files (x86)\Java\jre1.6.0_22\lib\security\cacerts -file example.cer
Il vous sera demandé un mot de passe dont la valeur par défaut est
changeit
Redémarrez votre JVM / PC.
source: http://magicmonster.com/kb/prg/java/ssl/pkix_path_building_failed.html
la source
alias
nom du certificat en ligne de commande doit également être unique.Après plusieurs heures à essayer de créer des fichiers cert pour que mon installation Java 6 fonctionne avec les nouveaux certificats twitter, je suis finalement tombé sur une solution incroyablement simple enterrée dans un commentaire sur l'un des forums. Copiez simplement le fichier cacerts d'une installation Java 7 et écrasez celui de votre installation Java 6. Il est probablement préférable de faire une sauvegarde du fichier cacerts en premier, mais ensuite il vous suffit de copier le nouveau et de BOOM! ça marche juste.
Notez que j'ai en fait copié un fichier cacerts Windows sur une installation Linux et cela a très bien fonctionné.
Le fichier se trouve dans
jre/lib/security/cacerts
les anciennes et les nouvelles installations jdk Java.J'espère que cela fera gagner des heures d'aggravation à quelqu'un d'autre.
la source
$JAVA_HOME/jre/lib
, non$JAVA_HOME/lib
- j'ai passé un peu de temps à manquer ce détail.Mon approche de l'interface utilisateur:
Ligne CMD:
keytool -importcert -file jetty.crt -alias jetty -keystore $JAVA_HOME/jre/lib/security/cacerts
changeit
(peut être modifié sur Mac)la source
keytool -importcert -file dinardap_cert.cer –alias dinardap –keystore “%JAVA_HOME%/jre/lib/security/cacerts”
Je suis tombé sur ce problème qui a pris de nombreuses heures de recherche à résoudre, en particulier avec les certificats générés automatiquement, qui contrairement aux certificats officiels, sont assez délicats et Java ne les aime pas beaucoup.
Veuillez vérifier le lien suivant: Résoudre le problème avec les certificats en Java
Fondamentalement, vous devez ajouter le certificat du serveur aux certificats Java Home.
InstallCert
et exécutez-le pendant que le serveur est en cours d'exécution, en fournissant les arguments suivantsserver[:port]
. Aucun mot de passe n'est nécessaire, car le mot de passe d'origine fonctionne pour les certificats Java ("changeit").jssecerts
fichier dans le répertoire où vous avez exécuté le programme (s'il est exécuté à partir d'Eclipse, assurez-vous de configurer le travail dansRun -> Configurations
).$JAVA_HOME/jre/lib/security
Après avoir suivi ces étapes, les connexions avec le certificat ne généreront plus d'exceptions dans Java.
Le code source suivant est important et il a disparu des blogs (Sun) Oracle, la seule page que j'ai trouvée était sur le lien fourni, donc je le joins à la réponse pour toute référence.
la source
SandeepanNath:test sandeepan.nath$ java InstallCert repo1.maven.org:443 Loading KeyStore /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/security/cacerts... Opening connection to repo1.maven.org:443 ... Starting SSL handshake... javax.net.ssl.SSLException: Received fatal alert: protocol_version .. Could not obtain server certificate chain
1. Vérifiez le certificat
Essayez de charger l'URL cible dans le navigateur et d'afficher le certificat du site (généralement accessible par l'icône avec le signe de verrouillage. Il se trouve à gauche ou à droite de la barre d'adresse du navigateur), qu'il soit expiré ou non approuvé pour une autre raison.
2. Installez les dernières versions de JRE et JDK
Les nouvelles versions sont généralement fournies avec l'ensemble mis à jour des certificats approuvés.
Aussi, si c'est possible, désinstallez les anciennes versions. Cela rendra explicites les erreurs de configuration.
3. Vérifiez votre configuration:
4. Copiez le magasin de clés entier de la nouvelle version Java
Si vous développez sous le JDK autre que le dernier disponible - essayez de remplacer le
%JAVA_HOME%/jre/lib/security/cacerts
fichier par le nouveau du dernier JRE installé (faites d'abord une copie de sauvegarde) comme @ jeremy-goodell le suggère dans son réponse5. Ajoutez des certificats à votre magasin de clés
Si rien ci-dessus ne résout votre problème, utilisez
keytool
pour enregistrer le (s) certificat (s) dans le magasin de clés Java:Le fichier avec le certificat peut être obtenu à partir du navigateur comme @MagGGG le suggère dans sa réponse .
Remarque 1: vous devrez peut-être répéter cette opération pour chaque certificat de la chaîne vers le certificat de votre site. Commencez à partir de la racine.
Remarque 2:
<alias_name>
doit être unique parmi les clés du magasin oukeytool
affichera une erreur.Pour obtenir la liste de tous les certificats du magasin, vous pouvez exécuter:
En cas de problème, cela vous aidera à supprimer le certificat du magasin:
la source
Il est utilisé pour sauter la validation du certificat.
Avertissement Utilisez uniquement à des fins de développement pour cela n'est pas sûr!
la source
J'ai eu une situation légèrement différente, lorsque JDK et JRE 1.8.0_112 étaient présents sur mon système.
J'ai importé les nouveaux certificats CA en
[JDK_FOLDER]\jre\lib\security\cacerts
utilisant la commande déjà connue:Pourtant, j'ai continué à obtenir la même erreur d' échec de création du chemin PKIX .
J'ai ajouté des informations de débogage à la CLI java, en utilisant
java -Djavax.net.debug=all ... > debug.log
. Dans le fichier debug.log, la ligne qui commence par trustStore est: pointée vers le magasin cacerts trouvé dans[JRE_FOLDER]\lib\security\cacerts
.Dans mon cas, la solution était de copier le fichier cacerts utilisé par JDK (qui avait ajouté les nouvelles autorités de certification) sur celui utilisé par le JRE et cela a résolu le problème.
la source
Contexte du problème:
J'obtenais l'erreur suivante lorsque j'essaie d'exécuter mvn clean install dans mon projet et via l'option Netbeans IDE clean and build. Ce problème est dû au certificat non disponible lorsque nous téléchargeons via NET beans IDE / via l'invite de commande, mais capable de télécharger les fichiers via le navigateur.
Erreur :
Résolution:
1. Téléchargez le certificat de l'URL en question:
2. Installez maintenant le magasin de clés pour résoudre le problème.
Exemples de commandes / sorties de ligne de commande:
la source
Je voulais importer un certificat pour smtp.gmail.com
La seule solution qui a fonctionné pour moi est 1. Entrez la commande pour afficher ce certificat
Copiez et enregistrez les lignes entre "----- BEGIN CERTIFICATE -----" et "----- END CERTIFICATE -----" dans un fichier, gmail.cer
Courir
Entrez le mot de passe chageit
Cliquez sur oui pour importer le certificat
Redémarrez java
exécutez maintenant la commande et vous êtes prêt à partir
la source
Ce n'est pas une réponse spécifique à Twitter, mais c'est la question qui se pose lorsque vous recherchez cette erreur. Si votre système reçoit cette erreur lors de la connexion à un site Web qui semble avoir un certificat valide lorsqu'il est affiché dans un navigateur Web , cela signifie probablement que le site Web a une chaîne de certificats incomplète .
Pour un bref résumé du problème: les autorités de certification n'utilisent pas leur certificat racine pour signer n'importe quel ancien certificat. Au lieu de cela, ils signent (généralement) des intermédiaires certificats qui ont également l'indicateur Autorité de certification défini (c'est-à-dire, sont autorisés à signer des certificats). Ensuite, lorsque vous achetez un certificat auprès d'une autorité de certification, ils signent votre CSR avec l'un de ces certificats intermédiaires.
Votre magasin de confiance Java n'a probablement que le certificat racine, pas les certificats intermédiaires.
Un site mal configuré peut renvoyer uniquement son certificat signé. Problème: il a été signé avec un certificat intermédiaire qui n'est pas dans votre magasin de confiance. Les navigateurs géreront ce problème en téléchargeant ou en utilisant un certificat intermédiaire mis en cache; cela maximise la compatibilité du site Web. Java et des outils comme OpenSSL, cependant, ne le feront pas. Et cela provoquera l'erreur dans la question.
Vous pouvez vérifier cette suspicion en utilisant le test SSL Qualys . Si vous exécutez cela sur un site et qu'il est dit
alors cela le confirme. Vous pouvez également le voir en regardant les chemins de certification et en voyant le texte Extra Download .
Comment y remédier: l'administrateur du serveur doit également configurer le serveur Web pour renvoyer les certificats intermédiaires. Pour Comodo, par exemple, c'est là que le
.ca-bundle
fichier est utile. Par exemple, dans une configuration Apache avec mod_ssl, vous utiliseriez leSSLCertificateChainFile
paramètre de configuration. Pour nginx, vous devez concaténer les certificats intermédiaires et le certificat signé et l'utiliser dans la configuration du certificat SSL. Vous pouvez trouver plus en recherchant "chaîne de certificats incomplète" en ligne.la source
La raison pour laquelle nous obtenons l'erreur ci-dessus est que JDK est fourni avec un grand nombre de certificats de l'autorité de certification (CA) de confiance dans un fichier appelé `` cacerts '', mais ce fichier n'a aucune idée de notre certificat auto-signé. En d'autres termes, le fichier cacerts n'a pas notre certificat auto-signé importé et ne le traite donc pas comme une entité de confiance et donne donc l'erreur ci-dessus.
Comment corriger l'erreur ci-dessus
Pour corriger l'erreur ci-dessus, il suffit d'importer le certificat auto-signé dans le fichier cacerts.
Tout d'abord, recherchez le fichier cacerts. Nous devrons trouver l'emplacement du JDK. Si vous exécutez votre application via l'un des IDE comme Eclipse ou IntelliJ Idea, accédez aux paramètres du projet et déterminez quel est l'emplacement JDK. Par exemple, sur un Mac OS, l'emplacement typique du fichier cacerts se trouverait à cet emplacement / Library / Java / JavaVirtualMachines / {{JDK_version}} / Contents / Home / jre / lib / security sur la machine d'une fenêtre, ce serait sous {{Installation_directory} } / {{JDK_version}} / jre / lib / security
Une fois que vous avez localisé le fichier cacerts, nous devons maintenant importer notre certificat auto-signé dans ce fichier cacerts. Consultez le dernier article, si vous ne savez pas comment générer correctement le certificat auto-signé.
Si vous n'avez pas de fichier de certificat (.crt) et seulement un fichier .jks, vous pouvez générer un fichier .crt en utilisant la commande ci-dessous. Si vous avez déjà un fichier .crt / .pem, vous pouvez ignorer la commande ci-dessous
## Pour générer un certificat à partir du magasin de clés (fichier .jks) ####
L'étape ci-dessus va générer un fichier appelé selfsigned.crt.Now Importez le certificat dans cacerts
Ajoutez maintenant le certificat à JRE / lib / security / cacerts (trustore)par exemple
C'est tout, redémarrez votre application et cela devrait fonctionner correctement. Si cela ne fonctionne toujours pas et obtenez une exception de négociation SSL. Cela signifie probablement que vous utilisez un domaine différent, puis enregistré dans le certificat.
Le lien avec une explication détaillée et une résolution étape par étape est ici.
la source
L'ajout
cacerts
n'a pas fonctionné pour moi. Après avoir activé le journal avec le drapeau-Djavax.net.debug=all
, j'ai appris à lire en Javajssecacerts
.L'importation
jssecacerts
a finalement fonctionné.la source
jssecacerts
s'il est présent, sinoncacerts
.Ceci est une solution mais sous forme de mon histoire avec ce problème:
J'étais presque mort en essayant toute la solution donnée ci-dessus (pendant 3 jours) et rien n'a fonctionné pour moi.
J'ai perdu tout espoir.
J'ai contacté mon équipe de sécurité à ce sujet car j'étais derrière un proxy et ils m'ont dit qu'ils avaient récemment mis à jour leur politique de sécurité.
Je les ai sévèrement réprimandés pour ne pas en avoir informé les développeurs.
Plus tard, ils ont publié un nouveau fichier "cacerts" qui contient tous les certificats.
J'ai supprimé le fichier cacerts qui est présent dans% JAVA_HOME% / jre / lib / security et cela a résolu mon problème.
Donc, si vous êtes confronté à ce problème, cela pourrait provenir de votre équipe réseau également.
la source
Je suis tombé sur cette question en essayant d'installer le plugin Cucumber-Eclipse dans Eclipse via leur site de mise à jour. J'ai reçu la même erreur SunCertPathBuilderException:
Bien que certaines des autres réponses soient appropriées et utiles pour la situation donnée de cette question, elles étaient néanmoins inutiles et trompeuses pour mon problème.
Dans mon cas, le problème était que l'URL fournie pour leur site de mise à jour est:
Cependant, lorsque vous y accédez via un navigateur, il est redirigé vers (notez le " .github " ajouté ):
La résolution consiste donc à simplement utiliser la version redirigée de l'URL du site de mise à jour lors de l'ajout du site de mise à jour dans Eclipse.
la source
J'étais confronté au même problème et le résoudre en utilisant les étapes simples ci-dessous:
1) Téléchargez InstallCert.java depuis google
2) Compilez-le en utilisant javac InstallCert.java
3) Exécutez InstallCert.java à l'aide de java InstallCert.java , avec le nom d'hôte et le port https, et appuyez sur «1» lorsque vous demandez une entrée. Il ajoutera «localhost» en tant que fichier de clés approuvé et générera un fichier nommé «jssecacerts» comme ci-dessous:
java InstallCert localhost: 443
4) copiez les jssecacerts dans le dossier $ JAVA_HOME / jre / lib / security
La principale source pour résoudre le problème ici est:
https://ankurjain26.blogspot.in/2017/11/javaxnetsslsslhandshakeexception.html
la source
J'ai résolu ce problème sur Windows Server 2016 avec Java 8, en important le certificat du
pkcs12
magasin au magasin decacerts
clés.Chemin d'accès au magasin pkcs12:
C:\Apps\pkcs12.pfx
Chemin d'accès aux cacerts Java:
C:\Program Files\Java\jre1.8.0_151\lib\security\cacerts
Chemin d'accès au keytool:
C:\Program Files\Java\jre1.8.0_151\bin
Après avoir possédé un dossier avec keytool dans l'invite de commande (en tant qu'administrateur), la commande pour importer le certificat de
pkcs12
àcacerts
est la suivante:keytool -v -importkeystore -srckeystore C:\Apps\pkcs12.pfx -srcstoretype PKCS12 -destkeystore "C:\Program Files\Java\jre1.8.0_151\lib\security\cacerts" -deststoretype JKS
Vous serez invité à:
1. entrer le mot de passe du magasin de clés de destination (mot de passe cacerts, la valeur par défaut est "changeit")
2. entrez le mot de passe du fichier de clés source (mot de passe pkcs12)
Pour que les modifications prennent effet, redémarrez la machine serveur (ou redémarrez simplement JVM).
la source
Ici, normalement, ce type d'exception se produit en cas de non-concordance dans le CHEMIN du certificat approuvé. Vérifiez la configuration ou le chemin où ce certificat de serveur est requis pour une communication sécurisée.
la source
Pour moi, une erreur de certificat est apparue parce que j'avais un violoneux en cours d'exécution en arrière-plan et cela gâche le certificat. Il agit comme un proxy si proche et redémarre eclipse.
la source
buts:
Comment faire:
Mon fichier wrapper Keystore:
Cette classe créera un fichier de clés si nécessaire et pourra gérer les certificats à l'intérieur. Maintenant classe pour le contexte SSL:
Cette classe a été créée en tant que singleton, car un seul contexte SSL par défaut est autorisé. Donc, maintenant, utilisez:
Il est possible que cela ne fonctionne pas avec ces paramètres, car je conserve le fichier de certificat à l'intérieur du dossier de ressources, donc mon chemin n'est pas absolu. Mais en général, cela fonctionne parfaitement.
la source
available()
est spécifiquement mise en garde dans son propre Javadoc.C'est un ajout à la réponse https://stackoverflow.com/a/36427118/1491414 . Merci @MagGGG
la source
J'ai corrigé cela en utilisant la méthode ci-dessous -
la source
Lorsque vous avez une erreur ci-dessus avec le logiciel atlassian ex. jira
vous pouvez ajouter des certificats à son magasin de clés approuvé (remplacez missing_ca par le nom de certificat approprié):
Si le mot de passe est demandé
changeit
, confirmez et confirmezy
Après cela, redémarrez simplement jira.
la source
Si l'URL de votre référentiel fonctionne également sur HTTP et que la sécurité n'est pas un problème, vous pouvez accéder à settings.xml (souvent, mais pas toujours, situé dans
%USERPROFILE%/.m2
) et remplacer HTTPS par HTTP pour<repository>
et<pluginRepository>
URL.Par exemple, ceci:
devrait être remplacé par ceci:
la source
J'utilisais mon propre magasin de confiance plutôt que JRE en passant arg
-Djavax.net.ssl.trustStore=
J'obtenais cette erreur indépendamment des certificats dans le magasin de clés de confiance. Le problème pour moi était la commande des propriétés passées sur la ligne d'argument. Lorsque j'ai mis
-Djavax.net.ssl.trustStore=
&-Djavax.net.ssl.trustStorePassword=
before-Dspring.config.location=
&-jar
args, j'ai réussi à appeler mon appel de repos via https.la source
Si vous utilisez CloudFoundry et que vous rencontrez un problème de certificat, vous devez vous assurer de pousser à nouveau le pot avec le service de magasin de clés avec le certificat. Simplement dissocier, lier et redémarrer ne fonctionnera pas.
la source
Si votre hôte se trouve derrière le pare-feu / proxy , utilisez la commande suivante dans cmd:
Remplacez
<proxy_hostname>
et<proxy_port>
par le serveur proxy HTTP configuré. Remplacez-le<remote_host_name:remote_ssl_port>
par l'un de l'hôte distant (essentiellement l'URL) et le port présentant le problème de certification.Prenez le dernier contenu du certificat imprimé et copiez-le (copiez également le certificat de début et de fin). Collez-le dans un fichier texte et donnez- lui l' extension .crt . Maintenant, importez ce certificat dans cacerts à l' aide de la commande java keytool et cela devrait fonctionner.
la source
Essayez de copier des cacerts java:
cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.172-9.b11.fc28.x86_64/jre/lib/security/cacerts $JAVA_HOME/jre/lib/security/cacerts
la source
Si vous voyez ce problème dans un conteneur Linux lorsque l'application Java essaie de communiquer avec une autre application / site, c'est parce que le certificat a été importé de manière incorrecte dans l'équilibreur de charge. Il y a une séquence d'étapes à suivre pour importer des certificats et si cela n'est pas fait correctement, vous verrez des problèmes comme
Une fois les certificats importés correctement, cela devrait être fait. Pas besoin de bricoler avec les certificats JDK.
la source
Je l'ai résolu pour Intellij Idea Je fais face à ce problème Althouh, je change beaucoup de place pour résoudre le problème.J'ai trouvé une solution pour moi.Cliquez avec le bouton droit sur votre projet, vous verrez Maven , après cela, appuyez sur Générer les sources et mettre à jour les dossiers et réimporter
C'est fait.
la source
J'étais confronté au même problème, j'utilisais 8.1.0-3, mais plus tard j'ai utilisé 9.2.1-0 et le problème a été résolu sans aucune étape manuelle. Le certificat auto-signé a bien fonctionné.
la source