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.
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.)
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")
Vous devriez probablement pouvoir y accéder maintenant.
Recommended Posts