Ich bin ein Neuling bei SSL-Zertifikaten und möchte wissen, ob ein selbstsigniertes Zertifikat, das ich für HTTPS verwende, erneuert werden kann, um das Ablaufdatum zu verlängern, ohne dass alle Clients der Site den Prozess "Ausnahmen zulassen" durchlaufen müssen zu tun, wenn sie die Site zum ersten Mal besuchen oder wenn sie ein neues selbstsigniertes Zertifikat ausstellen, das von Grund auf neu erstellt wurde.
Ich habe das folgende Tutorial gefunden, das zeigt, wie ein selbstsigniertes Zertifikat mithilfe von erneuert wird openssl
, konnte es jedoch nicht so verwenden, dass mein Browser es stillschweigend akzeptiert, ohne den Warnbildschirm "Nicht vertrauenswürdige Site" anzuzeigen:
# cd /etc/apache2/ssl
# openssl genrsa -out togaware.com.key 1024
# chmod 600 togaware.com.key
# openssl req -new -key togaware.com.key -out togaware.com.csr
AU
ACT
Canberra
Togaware
Data Mining
Kayon Toga
[email protected]
(no challenge password)
# openssl x509 -req -days 365 -in togaware.com.csr \
-signkey togaware.com.key -out togaware.com.crt
# mv apache.pem apache.pem.old
# cp togaware.com.key apache.pem
# cat togaware.com.crt >> apache.pem
# chmod 600 apache.pem
# wajig restart apache2
Mein Setup entspricht im Wesentlichen der Beschreibung in dieser Antwort und ich verwende CRT- und KEY-Dateien (aus diesem Lernprogramm ) anstelle einer PEM-Datei. Vielleicht habe ich etwas durcheinander gebracht, als ich versuchte, sie auf meinen Fall anzuwenden.
Andererseits habe ich viele Foreneinträge gefunden, die darauf hindeuten, dass es völlig unmöglich ist, ein selbstsigniertes Zertifikat zu erneuern, und ich muss ein neues von Grund auf neu erstellen.
Jede Hilfe wäre willkommen ... oder wäre diese Frage besser für /server// oder /superuser// geeignet ?
quelle
Antworten:
Per Definition kann ein selbstsigniertes Zertifikat nur durch direkte Vertrauenswürdigkeit als vertrauenswürdig eingestuft werden , dh durch das, was Webbrowser wie Firefox als Prozess "Ausnahmebedingung zulassen" anzeigen. Ein ganz bestimmtes Zertifikat wird bis zum letzten Bit als "vertrauenswürdig" deklariert. An einem Zertifikat kann nichts geändert werden, ohne dieses Modell zu verlassen, insbesondere das Ablaufdatum, das Teil der im Zertifikat enthaltenen Daten ist.
Sie können sich Erneuerung als eine Art Familiensache vorstellen: Wenn ein Zertifikat "erneuert" wird, wird es tatsächlich durch ein jüngeres Geschwister ersetzt. Clients akzeptieren das neue Zertifikat stillschweigend, da es dieselbe Herkunft wie das vorherige Zertifikat hat. Selbstsignierte Zertifikate sind Waisenkinder: Sie haben keine Vorfahren. Daher kein Geschwister und kein Automatikgetriebe.
(Abgesehen von diesen Vorfahren ist die Erneuerung die Erstellung eines neuen Zertifikats. Zertifikate sind unveränderlich . "Erneuerung" ist eine Denkweise über die Beziehung zwischen den alten und den neuen Zertifikaten.)
Wenn Sie unbeaufsichtigte Verlängerungen durchführen möchten, benötigen Sie ein selbstsigniertes CA- Zertifikat . Sie stellen Zertifikate für Ihre Server von dieser Zertifizierungsstelle aus und bitten Ihre Kunden, dieser Zertifizierungsstelle zu vertrauen. Dies ist natürlich eine große Herausforderung: Eine Zertifizierungsstelle, der Sie vertrauen, kann das gesamte Internet in Ihren Augen vortäuschen. Grundsätzlich geht es bei dieser Lösung darum, eine eigene Zertifizierungsstelle zu erstellen und zu verwalten. Dies ist Aufgabe und Arbeit.
Wenn Sie das nächste Mal ein selbstsigniertes Zertifikat erstellen, ist es langlebig. Zertifikate verfallen hauptsächlich, um den Widerruf zu ermöglichen (der Ablauf der Zertifikate verhindert, dass die CRL auf unbestimmte Zeit wächst). Für ein selbstsigniertes Zertifikat gibt es keinen Widerruf, sodass Sie das Zertifikat 20 Jahre lang gültig machen können. Oder für 2000 Jahre (obwohl das Jahr-2038-Problem je nach Client-Software irgendwann auftauchen kann).
quelle
Kurze Antwort: Nein.
Das Vertrauen in ein selbstsigniertes Zertifikat entspricht dem Vertrauen in einen einzelnen Pass anstelle des Landes, das diesen Pass ausstellt. Wenn Sie einen neuen Pass erhalten, wird dieser nicht automatisch von jemandem als vertrauenswürdig eingestuft, insbesondere weil es sich um eine andere Sache mit unterschiedlichen Attributen handelt (Passnummer, Datum usw.). Es gibt keine Grundlage dafür, dass jemand, der dem alten Pass ausdrücklich vertraut, weiß, dass dem neuen Pass vertraut werden kann.
quelle
Wenn Sie selbstsignierte Zertifikate verwenden (ich empfehle die Verwendung von xca unter Windows), können Sie einfach das Ablaufdatum auf 7999-12-31 (das ist die maximale Zeit für UTC) und das Anfangsdatum auf 1970-01-01 (For Kompatibilität mit falsch konfigurierter Uhrzeit / Datum in PCs)
quelle