[JAVA] Que faire si vous vous déconnectez en raison d'une erreur de certificat SSL lors de l'exécution de Jenkins sur votre Mac

Une note sur ce qu'il faut faire si vous obtenez une erreur de certificat SSL non digne de confiance (javax.net.ssl.SSLHandshakeException) en Java lorsque vous essayez d'installer Jenkins en utilisant homebrew sur MacOSX

Une fois l'installation terminée, lorsque je l'ai démarrée et que j'ai essayé d'effectuer les paramètres initiaux, j'étais hors ligne et je ne pouvais pas du tout installer le plug-in, alors quand j'ai regardé le journal, j'ai eu une erreur comme celle-ci.

Apr 28, 2018 12:40:10 AM hudson.model.UpdateCenter updateDefaultSite
avertissement: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail.
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(Alerts.java:192)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
	at hudson.model.DownloadService.loadJSON(DownloadService.java:167)
	at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:190)
	at hudson.model.UpdateCenter.updateDefaultSite(UpdateCenter.java:2194)
	at jenkins.install.SetupWizard.init(SetupWizard.java:174)
	at jenkins.install.InstallState$InitialSecuritySetup.initializeState(InstallState.java:142)
	at jenkins.model.Jenkins.setInstallState(Jenkins.java:1033)
	at jenkins.install.InstallUtil.proceedToNextStateFrom(InstallUtil.java:97)
	at jenkins.install.InstallState$Unknown.initializeState(InstallState.java:75)
	at jenkins.model.Jenkins$17.run(Jenkins.java:3149)
	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
	at jenkins.model.Jenkins$5.runTask(Jenkins.java:1062)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
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(PKIXValidator.java:387)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
	at sun.security.validator.Validator.validate(Validator.java:260)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
	... 29 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
	... 35 more

La cause en est que lorsque le certificat est vérifié avec java, il ne peut pas être approuvé, il est donc dit que le certificat doit être ajouté directement aux informations de certificat de confiance de java, alors ajoutez-le selon le flux suivant.

1. Obtenez un certificat

Depuis le 28 avril 2018, https://updates.jenkins.io/update-center.json Ce n'était pas grave si je mettais le certificat de, alors accédez au site avec chrome, etc., affichez le certificat et DL.
(Pour la DL du certificat, affichez le site avec chrome, appuyez sur «Communication protégée» dans le champ URL et sélectionnez «Certificat», puis «Partie image» du certificat affiché Si vous faites un glisser-déposer dans un dossier approprié, vous devriez obtenir "updates.jenkins.io.cer" etc.)

2. Enregistrez le certificat avec keytool
cd `/usr/libexec/java_home`/jre/lib/security

sudo keytool -importcert -file [Chemin vers le certificat DL]/updates.jenkins.io.cer -keystore cacerts

À ce moment-là, il vous sera demandé le mot de passe du fichier de clés, alors entrez «changez-le». (Comme il s'agit du paramètre par défaut, il est préférable de rechercher "mot de passe du fichier de clés par défaut java")

3. Démarrez jenkins

Vous devriez probablement pouvoir y accéder maintenant.

Recommended Posts

Que faire si vous vous déconnectez en raison d'une erreur de certificat SSL lors de l'exécution de Jenkins sur votre Mac
Que faire si le message "Un serveur est déjà en cours d'exécution" s'affiche. Erreur lors de la tentative de démarrage du serveur rails
Que faire si vous obtenez une erreur NoClassDefFoundError lorsque vous essayez d'exécuter eclipse sur Java 9
Que faire si une erreur d'analyseur SAX se produit lors de l'utilisation de Liferay 7 / DXP sur AWS
<Installation par points> Que faire si vous ne pouvez pas continuer en raison d'une erreur lors de la création d'un environnement de développement pour l'apprentissage Rails.
Que faire si vous obtenez une erreur de bibliothèque partagée JNI lorsque vous essayez de créer avec Eclipse
Que faire si une erreur se produit lorsque nokogiri entre lors de l'installation du bundle
il ne reste plus d'espace sur l'appareil Que faire en cas d'erreur
Que faire si vous recevez une alerte de vulnérabilité MiniMagick sur GitHub
Que faire si vous obtenez l'erreur Trop long sans sortie (dépassé 10m0s) dans CircleCI
Que faire si vous transmettez des informations incorrectes
Qu'utilisez-vous lors de la conversion en String?
[Grails] Une erreur s'est produite lors de l'exécution Que faire lorsque la CLI Grails ne démarre pas
Que faire si vous avez installé Java pour OS X sur macOS
[Ubuntu] Que faire lorsque MongoDB ne peut pas être démarré en raison d'une erreur SocketException
[Rails] Que faire si vous obtenez une erreur indiquant "Impossible de trouver un moteur d'exécution JavaScript." Lors de l'exécution de la commande rails dans Catalina
Que faire si vous obtenez une erreur de nombre d'arguments erroné dans binding.pry
Que faire si TextToSpeech ne fonctionne pas sur Android 11
Que faire si vous créez accidentellement un modèle
Que faire si une erreur ActionController :: UnknownFormat se produit
Que faire si vous obtenez une erreur indiquant "Veuillez saisir une valeur valide" lors de l'obtention avec Rails datetime_field
Que voir lorsque IntelliJ ne démarre pas sur Mac
Erreur ExecJS :: RuntimeUnavailable: que faire quand cela se produit
Que faire si le message d'erreur "Impossible de trouver un moteur d'exécution JavaScript" s'affiche lors du démarrage du serveur rails
[Rails] Que faire si vous ne pouvez pas obtenir de message d'erreur avec la méthode des erreurs
Que faire si vous obtenez une erreur «302» dans le code de test du contrôleur dans Rails
Que faire si vous obtenez une erreur avec l'authentification de base pendant le code de test Rails
Que faire si mysql2 obtient une erreur d'installation de bundle
Que faire si la commande rails devient inutilisable
Remarques sur la marche à suivre si l'installation d'Ubuntu 20.04 sur Virtual Box 6.1 (Windows10) échoue avec «Erreur 5 Erreur d'entrée / sortie»
Que faire si vous obtenez une [Une requête HTTP a pris trop de temps à se terminer.] Erreur dans Docker.
Que faire quand git status indique Modifications non préparées pour la validation: après git add.
Comment désinstaller si vous avez mis à jour vers Java 9 sur votre Mac
Que faire si vous vous fâchez contre OpenSSL avec Pyenv Install
Que faire en cas de problème pendant Content Assist
Que faire lorsque vous rencontrez le problème node_modules avec docker-compose
Que faire si vous oubliez votre mot de passe root sur CentOS7
[Rails] Que faire si vous ne pouvez pas obtenir de paramètres avec form_with
Que faire si vous entrez gem'bcrypt 'dans votre Gemfile et obtenez une erreur avec l'installation du bundle
Que faire si l'application dont le nom est appName est déjà enregistrée. Lorsque vous essayez de démarrer GlassFish