Si j'ai le fichier réel et un shell Bash sous Mac ou Linux, comment puis-je interroger le fichier cert pour savoir quand il expirera? Pas un site Web, mais en fait le fichier de certificat lui-même, en supposant que j'ai les fichiers csr, key, pem et chain.
327
-startdate
et-enddate
intégrées à l'x509
utilitaire. Ils vous sauveront legrep
.Si vous voulez simplement savoir si le certificat a expiré (ou le fera dans les N secondes suivantes), l'
-checkend <seconds>
option pouropenssl x509
vous indiquera:Cela vous évite d'avoir à faire vous-même des comparaisons date / heure.
openssl
renverra un code de sortie de0
(zéro) si le certificat n'a pas expiré et ne le fera pas pendant les 86400 secondes suivantes, dans l'exemple ci-dessus. Si le certificat a expiré ou l'a déjà fait - ou une autre erreur comme un fichier invalide / inexistant - le code de retour est1
.(Bien sûr, cela suppose que l'heure / la date est réglée correctement)
la source
-noout
option pour voir un message utile en utilisant une seule commande sans logique supplémentaire. Par exemple,openssl x509 -checkend 0 -in file.pem
donnera la sortie "Le certificat expirera" ou "Le certificat n'expirera pas" indiquant si le certificat expirera dans zéro seconde.Voici ma ligne de commande bash pour répertorier plusieurs certificats par ordre d'expiration, le plus récent expirant en premier.
Exemple de sortie:
la source
0 7 * * 1 /path/to/cert.sh | mail -s "certbot" [email protected]
Voici une fonction bash qui vérifie tous vos serveurs, en supposant que vous utilisez DNS round-robin. Notez que cela nécessite une date GNU et ne fonctionnera pas sur Mac OS
Exemple de sortie:
la source
expiry_date
valeur devra avoir le nom du fuseau horaire supprimé à la fin de celui-ci. Ajoutez un supplémentairecut
à la fin du tuyau pour ce faire:| cut -d ' ' -f 1-4
Une ligne vérifiant vrai / faux si le certificat de domaine expirera dans un certain temps plus tard (ex. 15 jours):
la source
Pour MAC OSX (El Capitan) Cette modification de l'exemple de Nicholas a fonctionné pour moi.
Exemple de sortie:
macOS n'aimait pas les indicateurs
--date=
ou--iso-8601
sur mon système.la source
.cer
vous aviez simplement des certificats que vous venez de créer et de télécharger à partir du site Apple Dev?Identique à la réponse acceptée, mais notez que cela fonctionne même avec un
.crt
fichier et pas seulement avec un.pem
fichier, juste au cas où vous ne pourriez pas trouver l'.pem
emplacement du fichier.Résultat:
la source
Si (pour une raison quelconque) vous souhaitez utiliser une application graphique sous Linux, utilisez
gcr-viewer
(dans la plupart des distributions, elle est installée par le packagegcr
(sinon dans le packagegcr-viewer
))la source