[JAVA] Was tun, wenn Sie aufgrund eines SSL-Zertifikatfehlers offline gehen, wenn Sie Jenkins auf Ihrem Mac ausführen?

Ein Hinweis, was zu tun ist, wenn in Java ein nicht vertrauenswürdiger SSL-Zertifikatfehler (javax.net.ssl.SSLHandshakeException) auftritt, wenn Sie versuchen, Jenkins mit Homebrew unter MacOSX zu installieren

Nachdem die Installation abgeschlossen war, als ich sie startete und versuchte, die anfänglichen Einstellungen vorzunehmen, war ich offline und konnte das Plug-In überhaupt nicht installieren. Als ich mir das Protokoll ansah, bekam ich einen Fehler wie diesen.

Apr 28, 2018 12:40:10 AM hudson.model.UpdateCenter updateDefaultSite
Warnung: 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

Die Ursache ist, dass das Zertifikat bei der Überprüfung mit Java nicht vertrauenswürdig ist. Daher wird gesagt, dass das Zertifikat direkt zu den vertrauenswürdigen Zertifikatinformationen von Java hinzugefügt werden sollte. Fügen Sie es daher gemäß dem folgenden Ablauf hinzu.

1. Holen Sie sich ein Zertifikat

Stand: 28. April 2018: https://updates.jenkins.io/update-center.json Es war in Ordnung, wenn ich das Zertifikat von einfügte, also mit Chrom usw. auf die Site zugreifen, das Zertifikat und DL anzeigen.
(Zeigen Sie für den DL des Zertifikats die Site mit Chrom an, drücken Sie "Geschützte Kommunikation" im URL-Feld und wählen Sie "Zertifikat" und dann "Bildteil" des angezeigten Zertifikats Wenn Sie per Drag & Drop in einen geeigneten Ordner ziehen, sollten Sie "updates.jenkins.io.cer" usw. erhalten.)

2. Registrieren Sie das Zertifikat bei Keytool
cd `/usr/libexec/java_home`/jre/lib/security

sudo keytool -importcert -file [Pfad zum DL-Zertifikat]/updates.jenkins.io.cer -keystore cacerts

Zu diesem Zeitpunkt werden Sie nach dem Keystore-Passwort gefragt. Geben Sie also "change it" ein. (Da dies die Standardeinstellung ist, ist es besser, nach "Java Standard Keystore Password" zu suchen.)

3. Starten Sie Jenkins

Sie sollten wahrscheinlich jetzt darauf zugreifen können.

Recommended Posts

Was tun, wenn Sie aufgrund eines SSL-Zertifikatfehlers offline gehen, wenn Sie Jenkins auf Ihrem Mac ausführen?
Was tun, wenn die Meldung "Ein Server läuft bereits" angezeigt wird. Fehler beim Versuch, den Rails-Server zu starten
Was tun, wenn beim Versuch, Eclipse unter Java 9 auszuführen, ein NoClassDefFoundError angezeigt wird?
Was tun, wenn bei Verwendung von Liferay 7 / DXP unter AWS ein SAX-Parser-Fehler auftritt?
<Punktinstallation> Was tun, wenn Sie aufgrund eines Fehlers beim Erstellen einer Entwicklungsumgebung für das Rails-Lernen nicht fortfahren können?
Was tun, wenn beim Versuch, mit Eclipse zu erstellen, ein Fehler in der gemeinsam genutzten JNI-Bibliothek auftritt?
Was tun, wenn ein Fehler auftritt, wenn nokogiri bei der Bundle-Installation eingeht?
Kein Platz mehr auf dem Gerät Was tun, wenn ein Fehler auftritt?
Was tun, wenn auf GitHub eine MiniMagick-Sicherheitsanfälligkeitswarnung angezeigt wird?
Was tun, wenn in CircleCI der Fehler zu lang ohne Ausgabe (über 10 m0s) angezeigt wird?
Was tun, wenn Sie falsche Informationen eingeben?
Was verwenden Sie beim Konvertieren in String?
[Grails] Beim Ausführen ist ein Fehler aufgetreten. Was ist zu tun, wenn die Grails-CLI nicht gestartet wird?
Was tun, wenn Sie Java für OS X unter macOS installiert haben?
[Ubuntu] Was tun, wenn MongoDB aufgrund eines SocketException-Fehlers nicht gestartet werden kann?
[Rails] Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden?" Angezeigt wird, wenn der Befehl "Rails" in Catalina ausgeführt wird
Was tun, wenn in bind.pry eine falsche Anzahl von Argumenten angezeigt wird?
Was tun, wenn TextToSpeech unter Android 11 nicht funktioniert?
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn ein ActionController :: UnknownFormat-Fehler auftritt?
Was tun, wenn beim Abrufen von Rails datetime_field die Fehlermeldung "Bitte geben Sie einen gültigen Wert ein" angezeigt wird?
Was ist zu sehen, wenn IntelliJ nicht auf einem Mac gestartet wird?
Fehler ExecJS :: RuntimeUnavailable: Was tun, wenn es auftritt?
Was tun, wenn die Fehlermeldung "JavaScript-Laufzeit konnte nicht gefunden werden" angezeigt wird? Beim Starten des Rails-Servers
[Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?
Was tun, wenn im Testcode der Steuereinheit in Rails der Fehler "302" angezeigt wird?
Was tun, wenn während des Rails-Testcodes ein Fehler bei der Standardauthentifizierung auftritt?
Was tun, wenn mysql2 einen Bundle-Installationsfehler erhält?
Was tun, wenn der Befehl Rails unbrauchbar wird?
Hinweise, was zu tun ist, wenn die Installation von Ubuntu 20.04 auf Virtual Box 6.1 (Windows 10) mit "Fehler 5 Eingabe- / Ausgabefehler" fehlschlägt.
Was tun, wenn Sie eine [HTTP-Anforderung hat zu lange gedauert] Fehler in Docker.
Was tun, wenn der Git-Status besagt, dass Änderungen nicht für das Festschreiben bereitgestellt wurden: Nach dem Hinzufügen des Git.
Was tun, wenn beim Installieren von Axios in einem React + Typescript-Projekt ein Fehler auftritt?
So deinstallieren Sie, wenn Sie auf Ihrem Mac auf Java 9 aktualisiert haben
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
Was tun bei Problem während der Inhaltsunterstützung?
Was tun, wenn Sie mit Docker-Compose auf das Problem node_modules stoßen?
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
Was tun, wenn Sie gem'bcrypt 'in Ihre Gemfile eingeben und bei der Bundle-Installation eine Fehlermeldung erhalten?
Was tun, wenn Sie eine Anwendung mit dem Namen erhalten? AppName ist bereits registriert. Wenn Sie versuchen, GlassFish zu starten