Probieren Sie Gossl aus, mit dem Sie das Startdatum und die Dauer der Zertifikatsgültigkeit in verschiedenen Zeiteinheiten angeben können.
Ich habe es entwickelt, um die Einschränkungen von Openssl für die Befehlszeile zu überwinden. Das Tool ist leichtgewichtig, in Go implementiert, ohne Abhängigkeiten, unter MIT-Lizenz.
Die Optionen -startdate und -enddate für den Befehl x509 sind Anzeigeoptionen. Sie können eine bestimmte Start- und Endzeit festlegen, indem Sie stattdessen den Befehl ca verwenden, um das Zertifikat zu signieren.
Probieren Sie so etwas aus:
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
Schritt-1. Installieren Sie faketime
sudo apt-get install faketime
Schritt-2. Abgelaufenes Zertifikat einen Tag vor dem aktuellen Datum generieren.
faketime 'last friday 5 pm' /bin/bash -c 'openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 6 -nodes'
Schritt-3 Überprüfen Sie das Gültigkeitsdatum des Zertifikats
openssl x509 -noout -text -in cert.pem
Oder hier ist eine andere Möglichkeit, die ich gefunden habe, um zu arbeiten
Angenommen, mein Zertifikat soll als Test in 10 Minuten ablaufen
Das aktuelle Datum ist der 17. Februar
Die aktuelle Uhrzeit ist 16:40 Uhr
Zuerst setze ich mein Systemdatum auf -1 Tag:16. Februar
Ich habe meine Systemuhr auf +10 Minuten gestellt:16:50 Uhr
Ich erstelle mein Zertifikat mit openssl x509
um in 1 Tag abzulaufen, was wirklich bedeutet, dass es am heutigen Feb 17th
abläuft
openssl x509 -req -days 1 -in clientcert.csr -signkey cert.key -out ssl.crt
Dann setze ich meine Systemuhr und Uhrzeit auf das tatsächliche Datum und die tatsächliche Uhrzeit zurück und voila, Sie haben ein Zertifikat, das in 10 Minuten abläuft!
Offensichtlich nicht der richtige Weg, Dinge zu tun, aber schön und einfach, um selbstsignierte Zertifikate für die Verwendung durch Entwickler zu erstellen.