[JAVA] Que faire lorsque le certificat SSL a expiré

--Environnement --Windows 10 Pro version 64 bits 1909 - GitBash(mintty 3.1.0) - Payara Server 5.194

Événement: Quand j'ai regardé le server.log de Payara, j'en ai trouvé beaucoup.

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

]]  ]
]
...réduction...

Cause: le certificat SSL a expiré

Que faire lorsque SEC5054: le certificat a expiré dans Java EE GlassFish --Qiita

Action: supprimez les informations expirées de cacerts.jks

cacerts.jks?

Le magasin de confiance (le magasin de confiance) ne stocke que les certificats approuvés par le client. Ces certificats sont des certificats racine de l'autorité de certification ou des certificats auto-signés. Lorsque vous installez un hôte logique, vous trouverez un fichier truststore nommé cacerts.jks à l'emplacement suivant: <c:\JavaCAPS>\appserver\domains<MyDomain>\config Keystore et Truststore (configuration Java CAPS avec prise en charge SSL)

Je ne peux pas lire cacerts.jks même si je l'ouvre dans un éditeur ... donc j'utilise l'utilitaire keytool.

Assurez-vous que Java PATH est défini dans votre environnement shell

Avant de commencer Pour exécuter l'utilitaire keytool, vous devez configurer votre environnement shell pour inclure le répertoire J2SE / bin dans votre chemin. Sinon, vous devez spécifier le chemin complet de l'utilitaire sur la ligne de commande. Génération de certificat avec keytool (Guide d'administration de Sun GlassFish Enterprise Server v3)

  1. Si vous utilisez différentes versions, vous n'avez peut-être pas défini le PATH, alors vérifiez
  2. Si PATH n'est pas défini, définissez-le
$ 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)

Comment vérifier les informations expirées

Il semble que les informations peuvent être affichées avec keytool -list -v -keystore cacerts.jks.

La commande -list imprime par défaut l'empreinte MD5 du certificat. L'option -v imprime le certificat dans un format lisible par l'homme. En revanche, si vous spécifiez l'option -rfc, le certificat est émis à l'aide de la méthode de codage pouvant être éditée. -storepass storepass Spécifiez le mot de passe utilisé pour protéger l'intégrité du fichier de clés. keytool - Outil de gestion des clés et des certificats

Et les informations de mot de passe ont été introduites sur le site suivant

Le mot de passe principal est "change-le" Que faire lorsque SEC5054: le certificat a expiré dans Java EE GlassFish --Qiita

#Si vous affichez à l'écran, beaucoup d'informations seront affichées, donc si vous voulez tout afficher, il est préférable de rediriger vers un fichier
$ keytool -list -v -keystore cacerts.jks -storepass changeit
alias: cert_92_ca_disig_root_r192
Date de création: 2018/01/23
Type d'entrée: trustedCertEntry

propriétaire: CN=CA Disig Root R1, O=Disig a.s., L=Bratislava, C=SK
Émetteur: CN=CA Disig Root R1, O=Disig a.s., L=Bratislava, C=SK
Numéro de série: c3039aee50906e28
Date de début de validité: Thu Jul 19 18:06:56 JST 2012 date de fin: Sat Jul 19 18:06:56 JST 2042
...réduction...

#Vous avez besoin des lignes "alias" et "période d'expiration" pour voir la date d'expiration, mais vous voyez toujours un montant correct
$ keytool -list -v -keystore cacerts.jks -storepass changeit | grep -e alias-e Période de validité
alias: cert_115_staat_der_nederlanden_root_ca___g3115
Date de début de validité: Thu Nov 14 20:28:42 Date de fin JST 2013: Tue Nov 14 08:00:00 JST 2028
alias: ssl.comrootcertificationauthorityrsa
Date de début de validité: Sat Feb 13 02:39:39 Date de fin JST 2016: Wed Feb 13 02:39:39 JST 2041
alias: cert_21_xramp_global_ca_root21
...réduction...

Supprimer les informations expirées

# 1. cacerts.Déplacer vers le répertoire avec jks
$ cd /c/apps/payara5/glassfish/domains/domain1/config/

# 2. cacerts.Sauvegarder jks
$ cp cacerts.jks cacerts.jks.bak
$ ls -la | grep cacerts
-rw-r--r--1 ponsuke 1049089 380598 29 novembre 20:05 cacerts.jks
-rw-r--r--1 ponsuke 1049089 380598 23 avril 13:29 cacerts.jks.bak

# 3.Alias Grep pour les informations expirées avant 2020
$ keytool -list -v -keystore cacerts.jks -storepass changeit | grep -e alias-e Période de validité| grep -B 1 201[0-9]$
alias: entrust2048ca
Date de début de validité: Sat Dec 25 02:50:51 JST 1999 Date de fin: Wed Dec 25 03:20:51 JST 2019

# 4.Alias Grep pour les informations expirées en 2020
$ keytool -list -v -keystore cacerts.jks -storepass changeit | grep -e alias-e Période de validité| grep -B 1 2020$
alias: staatdernederlandenrootca-g2
Date de début de validité: Wed Mar 26 20:18:17 JST 2008 date de fin: Wed Mar 25 20:03:10 JST 2020
--
alias: equifaxsecureebusinessca1
...réduction...

# 5.Supprimer les informations expirées avant 2020
$ keytool -delete -keystore cacerts.jks  -storepass changeit -alias entrust2048ca

# 6.Supprimer les dernières informations expirées qui ont expiré en 2020
$ keytool -delete -keystore cacerts.jks  -storepass changeit -alias staatdernederlandenrootca-g2

$ keytool -delete -keystore cacerts.jks  -storepass changeit -alias equifaxsecureebusinessca1
...réduction...

# 7.Redémarrez Payara
$ asadmin restart-domain domain1
Successfully restarted the domain
Command restart-domain executed successfully.

# 8. server.Vérifiez le journal pour voir s'il reste des informations expirées
$ tail ../logs/server.log

Recommended Posts

Que faire lorsque le certificat SSL a expiré
Que faire lorsqu'une exception javax.batch.operations.JobStartException se produit
Que faire lorsqu'une exception javax.el.PropertyNotWritableException se produit
Que faire lorsque les modifications du servlet ne sont pas reflétées
Que faire lorsque la méthode non définie ʻuser_signed_in? '
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
[IOS] Que faire lorsque l'image est remplie d'une seule couleur
Que faire si le serveur Tomcat meurt
Que faire lors du débogage "Source non trouvée"
Qu'utilisez-vous lors de la conversion en String?
Que faire si IllegalStateException se produit dans PlayFramework
Que faire lorsque la valeur devient nulle dans le second getSubmittedValue () dans JSF Validator
[Grails] Une erreur s'est produite lors de l'exécution Que faire lorsque la CLI Grails ne démarre pas
Que faire si l'installation du gem de débogage échoue
Que faire si le serveur Rails ne peut pas démarrer
Que faire lorsque les balises JSF ne deviennent pas HTML
Que faire si une exception ClassNotFoundException se produit lors du démarrage de Tomcat
Que dois-je faire pour recharger le Dockerfile mis à jour?
Erreur ExecJS :: RuntimeUnavailable: que faire quand cela se produit
ParseException: que faire lorsqu'une date impossible à analyser est atteinte
[React.useRef] Que faire lorsque le dernier état ne peut pas être référencé dans l'écouteur d'événements
Que faire lorsque «Échec du chargement de la bibliothèque partagée JNI» s'affiche dans Eclipse
Que faire quand il devient impossible de trouver CDI BeanManager.
Ce à quoi j'étais accro lors de l'introduction de la bibliothèque JNI
Que faire lorsque la méthode n'est pas trouvée dans f: ajax
Que faire lorsque vous ne pouvez pas appliquer d'opérateurs d'expression à la liaison de méthode
Que faire si la commande adb ne peut pas être exécutée
Que faire si la commande rails devient inutilisable
[Joke] Que faire lorsque la fréquence d'échantillonnage non valide est atteinte lors de l'utilisation de Mixxx sur Ubuntu 20.04
[Tutoriel Rails Chapitre 2] Que faire lorsque vous faites une erreur dans le nom de la colonne
[Rails] Que faire lorsque la vue se réduit lorsqu'un message est affiché avec la méthode des erreurs
Que faire lorsque la "relation" hibernate_sequence "n'existe pas" dans la colonne ID de PostgreSQL + JPA
[Ubuntu 20.04] Que faire si le moniteur externe n'est pas reconnu
Que faire lorsque la validation ne fonctionne pas avec l'action de mise à jour
[Débutant en programmation] Que faire lorsque les rails deviennent une erreur dans l'environnement de développement local
Que faire lorsque Gradle dit "Pour plus d'informations, veuillez recompiler avec l'option -Xlint: décochée"
Que faire si la page Rails n'est pas affichée dans le didacticiel Rails 1.3.2
Que faire lorsque vous souhaitez connaître la position source où la méthode est définie dans binding.pry
Que faire lorsque Cloud 9 est plein dans le didacticiel Rails
Remarques sur la marche à suivre si le Jar de dépendance Eclipse Maven est incorrect
[Rails] Que faire lorsque les rails ne répondent pas ou ne s'arrêtent pas
java.security.InvalidKeyException: Que faire en cas de taille de clé ou de paramètres par défaut illégaux
Quand refactoriser?
Que faire en cas de problème pendant Content Assist
Que faire si l'application n'est pas créée avec la dernière version de Rails installée lorsque les rails sont neufs
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
Que faire lorsque Maven dit "Pour plus d'informations, veuillez recompiler avec l'option -Xlint: décochée"
Que faire lorsque javax.el.ELException: Pas une expression de méthode valide: s'affiche lorsque l'écran JSF est affiché
Que faire si l'opération non autorisée s'affiche lors de l'exécution d'une commande dans le terminal
Mémorandum: Ce à quoi j'étais accro quand j'ai frappé l'API de comptabilité freee
Ce que j'ai pensé en passant la valeur d'entrée de l'utilisateur à la classe Service
Que faire si l'image d'arrière-plan n'est pas appliquée après le déploiement