GNU/Linux >> Tutoriels Linux >  >> Linux

Comment générer un certificat openssl avec une expiration inférieure à un jour ?

Essayez gossl qui permet de spécifier la date de début et la durée de validité du certificat dans différentes unités de temps.

Je l'ai développé pour surmonter les limitations de la ligne de commande openssl. L'outil est léger, implémenté en Go, sans dépendances, sous licence MIT.


Les options -startdate et -enddate de la commande x509 sont des options d'affichage. Vous pouvez définir une heure de début et de fin spécifique à l'aide de la commande ca à la place pour signer le certificat.

Essayez quelque chose comme ceci :

openssl ca -config /etc/openssl.cnf -policy policy_anything -out clientcert.pem -startdate 120815080000Z -enddate 120815090000Z -cert ca.pem -keyfile cakey.pem -infiles clientcert.csr

Étape 1. Installer faketime

sudo apt-get install faketime

Étape 2. Générer un certificat expiré un jour avant la date actuelle.

faketime 'last friday 5 pm' /bin/bash -c 'openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 6 -nodes'

Étape 3 Vérifier la date de validité du certificat

openssl x509 -noout -text -in cert.pem


Ou voici une autre façon que j'ai trouvé de travailler

Supposons que je souhaite que mon certificat expire dans 10 minutes à titre de test

La date actuelle est le 17 février
L'heure actuelle est 16h40

J'ai d'abord défini la date de mon système sur -1 jour :le 16 février
J'ai réglé mon horloge système sur +10 minutes :16h50

Je crée mon certificat en utilisant openssl x509 expirer dans 1 jour, ce qui signifie en réalité expirer aujourd'hui Feb 17th

openssl x509 -req -days 1 -in clientcert.csr -signkey cert.key -out ssl.crt

Je réinitialise ensuite l'horloge et l'heure de mon système à la date et à l'heure réelles et voilà, vous avez un certificat qui va expirer dans 10 minutes !

Évidemment, ce n'est pas la vraie façon de faire les choses, mais c'est agréable et facile de créer des certificats auto-signés pour les développeurs.


Linux
  1. SSH vers un port autre que 22 :comment le faire (avec exemples)

  2. Comment générer une demande de signature de certificat (CSR) sous Linux

  3. Générer des empreintes digitales Hpkp pour toute la chaîne de certificats ?

  4. Comment compiler le fichier .c avec OpenSSL inclut ?

  5. Comment déterminer la date d'expiration du certificat SSL à partir d'un certificat encodé PEM ?

Comment générer des certificats SSL auto-signés à l'aide d'OpenSSL

Autorité de certification avec OpenSSL

Comment générer un CSR dans Plesk 17 ?

Comment sécuriser Nginx avec le certificat SSL Let's Encrypt

Comment transférer des fichiers avec Commander One

Comment générer une CSR (demande de signature de certificat) sous Linux