GNU/Linux >> Linux Esercitazione >  >> Linux

Come determinare la data di scadenza del certificato SSL da un certificato con codifica PEM?

Con openssl :

openssl x509 -enddate -noout -in file.pem

L'output è nel formato:

notAfter=Nov  3 22:23:50 2014 GMT

Vedi anche la risposta di MikeW su come verificare facilmente se il certificato è scaduto o meno, o se lo sarà entro un certo periodo di tempo, senza dover analizzare la data sopra.


Se vuoi solo sapere se il certificato è scaduto (o se lo farà entro i prossimi N secondi), il -checkend <seconds> opzione a openssl x509 ti dirà:

if openssl x509 -checkend 86400 -noout -in file.pem
then
  echo "Certificate is good for another day!"
else
  echo "Certificate has expired or will do so within 24 hours!"
  echo "(or is invalid/not found)"
fi

Questo evita di dover fare tu stesso confronti di data/ora.

openssl restituirà un codice di uscita di 0 (zero) se il certificato non è scaduto e non lo farà per i successivi 86400 secondi, nell'esempio precedente. Se il certificato sarà scaduto o lo è già stato - o qualche altro errore come un file non valido/inesistente - il codice di ritorno è 1 .

(Naturalmente, presuppone che l'ora/la data siano impostate correttamente)

Tieni presente che le versioni precedenti di openssl hanno un bug, il che significa che se il tempo specificato in checkend è troppo grande, verrà sempre restituito 0 (https://github.com/openssl/openssl/issues/6180).


Ecco la mia riga di comando bash per elencare più certificati in ordine di scadenza, il più recente in scadenza per primo.

for pem in /etc/ssl/certs/*.pem; do 
   printf '%s: %s\n' \
      "$(date --date="$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" --iso-8601)" \
      "$pem"
done | sort

Esempio di output:

2015-12-16: /etc/ssl/certs/Staat_der_Nederlanden_Root_CA.pem
2016-03-22: /etc/ssl/certs/CA_Disig.pem
2016-08-14: /etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_S.pem

Linux
  1. Come verificare se il certificato SSL è SHA1 o SHA2 utilizzando OpenSSL?

  2. Come generare la chiave CSR e installare il certificato SSL da CWP?

  3. Come applicare un certificato SSL in Plesk

  4. Come creare un certificato SSL autofirmato su Ubuntu 18.04

  5. Come installare un certificato SSL in Plesk

OpenSSL:controlla la data di scadenza del certificato SSL e ottieni maggiori informazioni

Come installare un certificato SSL in cPanel?

Come installare un certificato SSL su cPanel

Come controllare la data di scadenza SSL su Plesk

Come controllare una data di scadenza del certificato TLS/SSL su Ubuntu

Come generare un certificato openssl con scadenza inferiore a un giorno?