Wo finde ich mein Zertifikat auf der Festplatte

Zertifikat und der Schlüsselcontainer

Wo finde ich eigentlich mein Zertifikat?

Über die MMC (Microsoft Management Console) und dem Snap-In “Zertifikate” haben wir einen Einblick in unsere Zertifikats-Container. Hier finden wir nicht nur unsere persönlichen Zertifikate oder die vom Computer, sondern auch die gespeicherten Root- oder Zwischenstellenzertifikate wieder.

MMC Aktueller Benutzer

Aber wie findet man jetzt heraus, wo ein Zertifikat physikalisch abgelegt ist bzw. um welche Datei es sich genau handelt?

Zuerst notieren wir uns wie im Bild gezeigt den Fingerabdruck (Thumbprint) des Zertifikates. Dazu navigieren wir in die Detailansicht des Zertifikats und scrollen bis nach unten.

Als nächstes starten wir die CMD und setzen den Befehl certutil -user -store my ab.
Zertifikat Nr. 3 hat den identischen Fingerabdruck wie das aus der Detailansicht. Somit haben wir schon einmal das richtige Zertifikat ermitteln können. Etwas tiefer (grüner Pfeil) finden wir die Information zu “Eindeutiger Containername”.

Zertifikat und der Schlüsselcontainer

Nun öffnen wir den Explorer und suchen im Pfad (eure S-I-D lautet natürlich anders)

C:\Users\JoernWalter\AppData\Roaming\Microsoft\Crypto\RSA\S-1-12-1-3748701331-1077845691-3600150455-1848382034

nach dieser gleichnamigen cb58ab379561dc515b15315c151134de_8d5a7b25-2822-4784-982c-f6692006c408 Systemdatei.

Voila! Diese System-Datei spiegelt das gesuchte Zertifikat wieder.

Systemdatei = Random File (Container)

Wo finde ich mein Zertifikat wieder?

Zertifikate mit der Powershell abgleichen und alte Systemdateien löschen

Sollten physikalisch mehr Systemdateien abgelegt sein als uns die MMC Zertifikate anzeigt, so können diese getrost gelöscht werden. Das behebt unter Umständen auch schon mal den ein oder anderen Zertifikatsfehler. In meinem Beispiel sehen wir 11 Systemdateien, aber die MMC zeigt uns nur 5 Zertifikate an. Somit kann ich die übrigen 6 Systemdateien löschen.

Durch das Löschen eines Zertifikats über die MMC wird die Systemdatei nämlich nicht gelöscht. Und das ich auch der Grund warum wir hier eine Diskrepanz haben.

Denkt immer an das Backup!

certutil -user -store my | Select-String -Pattern “Key Container” -AllMatches
certutil -user -store my | Select-String -Pattern “Eindeutiger Containername” -AllMatches

vorhandene Zertifikate im Speicher validieren

Zertifikate und deren Speicherorte