Wiederherstellung eines Zertifizierungsstellenzertifikats mit Hardware Security Modul (HSM)

Nachfolgend wird die Wiederherstellung eines Zertifizierungsstellen-Zertifikats mit Software-Schlüssel beschrieben.

Die Wiederherstellung des Zertifizierungsstellen-Zertifikats kann aus folgenden Gründen notwendig sein:

Die Wiederherstellung eines Zertifizierungsstellen-Zertifikats mit Softwareschlüssel unterscheidet sich grundlegend und ist in diesem Artikel beschrieben.

Für die nachfolgende Vorgehensweise ist als Vorbereitung erforderlich, dass der zum Hardware Security Modul zugehörige Key Storage Provider bereits installiert und eingerichtet ist. Der Zugriff auf das Schlüsselmaterial vom Ziel-Computer muss also bereits gewährleistet sein. Da sich diese Prozedur je nach HSM-Hersteller unterscheidet, ist sie hier nicht beschrieben. Hierzu ist die Dokumentation des jeweiligen HSM-Herstellers zu verwenden.

Falls mehrere Zertifizierungsstellen-Zertifikate wiederhergestellt werden sollen, müssen die nachfolgenden Schritte entsprechend für jedes Zertifikat wiederholt werden.

Zur Wiederherstellung der Zertifizierungsstellen-Zertifikate ist deren Ausführung ohne den privaten Schlüssel erforderlich – als beispielsweise die Version, die im Authority Information Access (AIA) Speicher hinterlegt ist. Die Zertifikate befinden sich auf dem Quell-System unter C:\Windows\System32\CertSrv\CertEnroll.

Auf dem Ziel-Computer wird die Managementkonsole für Zertifikate des Computerkontos (certlm.msc) geöffnet. Es wird mit Rechts auf "Personal" geklickt, dann "All Tasks" – "Import…".

Im nächsten Bildschirm wird "Next" geklickt.

Mit "Browse…" wird nun die Sicherungsdatei ausgewählt.

Nun wird das wiederherzustellende Zertifizierungsstellen-Zertifikat ausgewählt.

Nun kann mit "Next" der nächste Dialog aufgerufen werden.

Die Standardauswahl ("Personal") für die Speicherung des Zertifikats kann beibehalten werden.

Mit Klick auf "Finish" wird das Zertifizierungsstellen-Zertifikats nun wiederhergestellt.

War der Import erfolgreich, wird eine entsprechende Meldung erzeugt.

Zu beachten ist, dass das Zertifizierungsstellen-Zertifikat nun erwartungsgemäß noch nicht auf seinen privaten Schlüssel zugreifen kann. Dieser muss nun im nächsten Schritt verbunden werden.

Zunächst wird der SHA1-Fingerabdruck (Thumbprint) des Zertifikats benötigt. Dieser kann über den Zertifikateigenschaften-Dialog oder durch folgenden Windows PowerShell-befehl identifiziert werden:

Get-ChildItem -Path Cert:\LocalMachine\My\

Nun muss der private Schlüssel mit dem durch den Fingerabdruck identifizierten Zertifikat verbunden werden. Dies muss im Sicherheitskontext NT-AUTORITÄT-SYSTEM erfolgen. Es gibt verschiedene Wege, um in diesen Sicherheitskontext zu wechseln:

  • Erstellen eines geplanten Tasks, welcher unter SYSTEM ausgeführt wird, und ein Script ausführt. Diese Methode hat den Vorteil, dass keine Programme von Drittanbietern ausgeführt werden müssen.
  • Wechseln in den Systemkontext via psexec.

Nachfolgend wird die Methode mit psexec beschrieben. In den Systemkontext kann mit folgendem Befehl gewechselt werden:

psexec -s -i cmd.exe

Anschließend wird folgender Kommandozeilenbefehl ausgeführt:

certutil -repairstore my <Fingerabdruck>

War der Befehl erfolgreich, wird dies auf der Kommandozeile ausgegeben.

Aktualisiert man nun die Ansicht in der Managementkonsole für Zertifikate des Computerkontos, sollte nun angezeigt werden, dass es einen privaten Schlüssel zum Zertifikat gibt.

Weiterführende Links: