[JAVA] Was tun, wenn das SSL-Zertifikat abgelaufen ist?

--Umgebung

Ereignis: Als ich mir Payaras server.log angesehen habe, habe ich viel gefunden.

server.log


[2020-04-22T17:36:57.020+0900] [Payara 5.194] [?x??] [NCLS-SECURITY-05054] [javax.enterprise.system.security.ssl] [tid: _ThreadID=54 _ThreadName=admin-thread-pool::admin-listener(1)] [timeMillis: 1587544617020] [levelValue: 900] [[
  The SSL certificate has expired: [
[
  Version: V3
  Subject: CN=Staat der Nederlanden Root CA - G2, O=Staat der Nederlanden, C=NL
  Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11

  Key:  Sun RSA public key, 4096 bits
  modulus: 8051226021100838930438588........
  public exponent: 65537
  Validity: [From: Wed Mar 26 20:18:17 JST 2008,
               To: Wed Mar 25 20:03:10 JST 2020]
  Issuer: CN=Staat der Nederlanden Root CA - G2, O=Staat der Nederlanden, C=NL
  SerialNumber: [    98968c]

Certificate Extensions: 4
[1]: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
  CA:true
  PathLen:2147483647
]

[2]: ObjectId: 2.5.29.32 Criticality=false
CertificatePolicies [
  [CertificatePolicyId: [2.5.29.32.0]
[PolicyQualifierInfo: [
  qualifierID: 1.3.6.1.5.5.7.2.1
  qualifier: 0000: 16 31 68 74 74 70 3A 2F   2F 77 77 77 2E 70 6B 69  .1http://www.pki
0010: 6F 76 65 72 68 65 69 64   2E 6E 6C 2F 70 6F 6C 69  overheid.nl/poli
0020: 63 69 65 73 2F 72 6F 6F   74 2D 70 6F 6C 69 63 79  cies/root-policy
0030: 2D 47 32                                           -G2

]]  ]
]
...Kürzung...

Ursache: Das SSL-Zertifikat ist abgelaufen

Was tun, wenn SEC5054: Zertifikat in Java EE GlassFish --Qiita abgelaufen ist

Aktion: Entfernen Sie abgelaufene Informationen aus cacerts.jks

cacerts.jks?

Der Trust Store (der "Trust" Store) speichert nur Zertifikate, denen der Client vertraut. Diese Zertifikate sind CA-Stammzertifikate oder selbstsignierte Zertifikate. Wenn Sie einen logischen Host installieren, finden Sie eine Truststore-Datei mit dem Namen cacerts.jks am folgenden Speicherort: <c:\JavaCAPS>\appserver\domains<MyDomain>\config Keystore und Truststore (Java CAPS-Konfiguration mit SSL-Unterstützung)](https://docs.oracle.com/cd/E19416-01/820-5959/ggffo/index.html)

Ich kann cacerts.jks nicht lesen, selbst wenn ich es in einem Editor öffne ... also verwende ich das Dienstprogramm "keytool".

Stellen Sie sicher, dass Java PATH in Ihrer Shell-Umgebung festgelegt ist

Bevor Sie beginnen Um das Dienstprogramm keytool auszuführen, müssen Sie Ihre Shell-Umgebung so konfigurieren, dass das Verzeichnis J2SE / bin in Ihren Pfad aufgenommen wird. Andernfalls müssen Sie den vollständigen Pfad des Dienstprogramms in der Befehlszeile angeben. Zertifikatserstellung mit Keytool (Sun GlassFish Enterprise Server v3-Administrationshandbuch)

  1. Wenn Sie verschiedene Versionen verwenden, haben Sie den PFAD möglicherweise nicht festgelegt. Überprüfen Sie dies
  2. Wenn PATH nicht gesetzt ist, setzen Sie es
$ java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

So überprüfen Sie abgelaufene Informationen

Es scheint, dass Informationen mit keytool -list -v -keystore cacerts.jks angezeigt werden können.

Der Befehl -list druckt standardmäßig den MD5-Fingerabdruck des Zertifikats. Die Option -v druckt das Zertifikat in einem für Menschen lesbaren Format. Wenn Sie dagegen die Option -rfc angeben, wird das Zertifikat mit der ausgabefähigen Codierungsmethode ausgegeben. -storepass storepass Geben Sie das Kennwort an, mit dem die Integrität des Schlüsselspeichers geschützt wird. Keytool - Schlüssel- und Zertifikatverwaltungstool

Die Passwortinformationen wurden auf der folgenden Website vorgestellt

Das Hauptkennwort lautet "Ändern" Was tun, wenn SEC5054: Zertifikat in Java EE GlassFish - Qiita abgelaufen ist

#Wenn Sie auf dem Bildschirm ausgeben, werden viele Informationen ausgegeben. Wenn Sie also alle ausgeben möchten, ist es besser, in eine Datei umzuleiten
$ keytool -list -v -keystore cacerts.jks -storepass changeit
alias: cert_92_ca_disig_root_r192
Erstellungsdatum: 2018/01/23
Eintragsart: trustedCertEntry

Inhaber: CN=CA Disig Root R1, O=Disig a.s., L=Bratislava, C=SK
Der Emittent: CN=CA Disig Root R1, O=Disig a.s., L=Bratislava, C=SK
Ordnungsnummer: c3039aee50906e28
Gültigkeitsbeginn: Thu Jul 19 18:06:56 JST 2012 Enddatum: Sat Jul 19 18:06:56 JST 2042
...Kürzung...

#Sie benötigen die Zeilen "Alias" und "Ablaufzeitraum", um das Ablaufdatum anzuzeigen, aber Sie sehen immer noch einen angemessenen Betrag
$ keytool -list -v -keystore cacerts.jks -storepass changeit | grep -e alias-e Gültigkeitsdauer
alias: cert_115_staat_der_nederlanden_root_ca___g3115
Gültigkeitsbeginn: Thu Nov 14 20:28:42 JST 2013 Enddatum: Tue Nov 14 08:00:00 JST 2028
alias: ssl.comrootcertificationauthorityrsa
Gültigkeitsbeginn: Sat Feb 13 02:39:39 JST 2016 Enddatum: Wed Feb 13 02:39:39 JST 2041
alias: cert_21_xramp_global_ca_root21
...Kürzung...

Abgelaufene Informationen löschen

# 1. cacerts.Wechseln Sie mit jks in das Verzeichnis
$ cd /c/apps/payara5/glassfish/domains/domain1/config/

# 2. cacerts.Sichern Sie jks
$ cp cacerts.jks cacerts.jks.bak
$ ls -la | grep cacerts
-rw-r--r--1 ponsuke 1049089 380598 29. November 20:05 cacerts.jks
-rw-r--r--1 ponsuke 1049089 380598 23. April 13:29 cacerts.jks.bak

# 3.Grep Aliase für Informationen, die vor 2020 abgelaufen sind
$ keytool -list -v -keystore cacerts.jks -storepass changeit | grep -e alias-e Gültigkeitsdauer| grep -B 1 201[0-9]$
alias: entrust2048ca
Gültigkeitsbeginn: Sat Dec 25 02:50:51 JST 1999 Enddatum: Wed Dec 25 03:20:51 JST 2019

# 4.Grep Aliase für Informationen, die im Jahr 2020 abgelaufen sind
$ keytool -list -v -keystore cacerts.jks -storepass changeit | grep -e alias-e Gültigkeitsdauer| grep -B 1 2020$
alias: staatdernederlandenrootca-g2
Gültigkeitsbeginn: Wed Mar 26 20:18:17 JST 2008 Enddatum: Wed Mar 25 20:03:10 JST 2020
--
alias: equifaxsecureebusinessca1
...Kürzung...

# 5.Löschen Sie Informationen, die vor 2020 abgelaufen sind
$ keytool -delete -keystore cacerts.jks  -storepass changeit -alias entrust2048ca

# 6.Löschen Sie die zuletzt abgelaufenen Informationen, die im Jahr 2020 abgelaufen sind
$ keytool -delete -keystore cacerts.jks  -storepass changeit -alias staatdernederlandenrootca-g2

$ keytool -delete -keystore cacerts.jks  -storepass changeit -alias equifaxsecureebusinessca1
...Kürzung...

# 7.Starten Sie Payara neu
$ asadmin restart-domain domain1
Successfully restarted the domain
Command restart-domain executed successfully.

# 8. server.Überprüfen Sie das Protokoll, um festzustellen, ob noch abgelaufene Informationen vorhanden sind
$ tail ../logs/server.log

Recommended Posts

Was tun, wenn das SSL-Zertifikat abgelaufen ist?
Was tun, wenn eine javax.batch.operations.JobStartException auftritt?
Was tun, wenn eine javax.el.PropertyNotWritableException auftritt?
Was tun, wenn die Änderungen im Servlet nicht berücksichtigt werden?
undefinierte Methode Was tun, wenn Sie "user_signed_in" erhalten?
Was tun, wenn Sie aufgrund eines SSL-Zertifikatfehlers offline gehen, wenn Sie Jenkins auf Ihrem Mac ausführen?
[IOS] Was tun, wenn das Bild mit einer Farbe gefüllt ist?
Was tun, wenn der Server-Tomcat stirbt?
Was tun beim Debuggen von "Quelle nicht gefunden"?
Was verwenden Sie beim Konvertieren in String?
Was tun, wenn in PlayFramework eine IllegalStateException auftritt?
Was tun, wenn der Wert im zweiten getSubmittedValue () in JSF Validator null wird?
[Grails] Beim Ausführen ist ein Fehler aufgetreten. Was ist zu tun, wenn die Grails-CLI nicht gestartet wird?
Was tun, wenn die Installation des Debug-Gems fehlschlägt?
Was tun, wenn der Rails-Server nicht gestartet werden kann?
Was tun, wenn JSF-Tags nicht zu HTML werden?
Was tun, wenn beim Starten von Tomcat eine ClassNotFoundException auftritt?
Was muss ich tun, um die aktualisierte Docker-Datei neu zu laden?
Fehler ExecJS :: RuntimeUnavailable: Was tun, wenn es auftritt?
ParseException: Was tun, wenn ein nicht analysierbares Datum erreicht ist?
[React.useRef] Was tun, wenn im Ereignis-Listener nicht auf den neuesten Status verwiesen werden kann?
Was ist zu tun, wenn in Eclipse "Fehler beim Laden der gemeinsam genutzten JNI-Bibliothek" angezeigt wird?
Was tun, wenn CDI BeanManager nicht mehr gefunden werden kann?
Wovon ich bei der Einführung der JNI-Bibliothek süchtig war
Was tun, wenn die Methode in f: ajax nicht gefunden wurde?
Was ist zu tun, wenn Ausdrucksoperatoren nicht auf die Methodenbindung angewendet werden können?
Was tun, wenn der Befehl adb nicht ausgeführt werden kann?
Was tun, wenn der Befehl Rails unbrauchbar wird?
[Witz] Was tun, wenn bei Verwendung von Mixxx unter Ubuntu 20.04 die ungültige Abtastrate erreicht ist?
[Rails Tutorial Kapitel 2] Was tun, wenn Sie einen Fehlern im Spaltennamen machen?
[Schienen] Was tun, wenn die Ansicht zusammenbricht, wenn eine Nachricht mit der Fehlermethode angezeigt wird?
Was tun, wenn "Relation" hibernate_sequence "nicht existiert" in der ID-Spalte von PostgreSQL + JPA
[Ubuntu 20.04] Was tun, wenn der externe Monitor nicht erkannt wird?
Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?
[Programmieranfänger] Was tun, wenn Schienen zu einem Fehler in der lokalen Entwicklungsumgebung werden?
Was tun, wenn Gradle sagt: "Für weitere Informationen kompilieren Sie bitte mit der Option -Xlint: nicht aktiviert."
Was tun, wenn die Rails-Seite im Rails-Lernprogramm 1.3.2 nicht angezeigt wird?
Was tun, wenn Sie die Quellposition wissen möchten, an der die Methode in bind.pry definiert ist?
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Hinweise, was zu tun ist, wenn das Eclipse Maven-Abhängigkeitsglas nicht korrekt ist
[Schienen] Was tun, wenn Schienen nicht reagieren oder nicht anhalten?
java.security.InvalidKeyException: Was ist zu tun, wenn die Schlüsselgröße oder die Standardparameter unzulässig sind?
Wann umgestalten?
Was tun bei Problem während der Inhaltsunterstützung?
Was tun, wenn die App nicht mit der neuesten Rails-Version erstellt wurde, die bei neuen Rails installiert wurde?
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?
Was tun, wenn Maven sagt: "Für weitere Informationen kompilieren Sie bitte mit der Option -Xlint: nicht aktiviert."
Was tun, wenn javax.el.ELException: Kein gültiger Methodenausdruck: wird angezeigt, wenn der JSF-Bildschirm angezeigt wird
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?
Memorandum: Wovon ich süchtig war, als ich auf die Accounting Freee API traf
Was ich dachte, als ich den Eingabewert des Benutzers an die Service-Klasse übergab
Was tun, wenn das Hintergrundbild nach der Bereitstellung nicht angewendet wird?