Wie finde ich heraus, welches Zertifikat von einer bestimmten Anwendung im Windows-Zertifikatspeicher verwendet wird?

Melden
  1. Einleitung
  2. Grundlegende Vorgehensweise
  3. Zertifikat im Kontext einer TLS- oder HTTPS-Verbindung identifizieren
  4. Direkte Untersuchung des Windows-Zertifikatspeichers
  5. Zertifikatssuchfunktion innerhalb der Anwendung oder Konfiguration
  6. Verwendung von Werkzeugen zum Erkennen verwendeter Zertifikate
  7. Zusammenfassung

Einleitung

Wenn Sie herausfinden möchten, welches Zertifikat eine bestimmte Anwendung unter Windows verwendet, müssen Sie verstehen, wie Windows-Zertifikatspeicher funktionieren und wie Anwendungen Zertifikate laden und nutzen. Anwendungen können Zertifikate in verschiedenen Zertifikatspeichern ablegen oder direkt aus Dateien laden. Vorzugsweise verwenden sie dafür die Windows-eigenen Zertifikatspeicher (z.B. Personal, Trusted Root Certification Authorities usw.).

Grundlegende Vorgehensweise

Da Windows-Zertifikate in sogenannten Zertifikatspeichern organisiert sind, erreichen Sie durch die Untersuchung der Anwendung und deren Konfiguration sowie durch die Analyse der Verbindungen heraus, welches Zertifikat sie verwendet. Das Vorgehen variiert stark je nach Anwendungstyp (z.B. Webserver, Clientanwendung, Dienst) und ob das Zertifikat für TLS, Code-Signierung oder andere Zwecke genutzt wird.

Zertifikat im Kontext einer TLS- oder HTTPS-Verbindung identifizieren

Bei Anwendungen, die TLS (z.B. HTTPS) verwenden, können Sie durch das Überwachen der SSL/TLS-Verbindung herausfinden, welches Zertifikat präsentiert wird. Hierfür eignen sich Tools wie Wireshark oder openssl. Alternativ hilft die Windows-eigene Dienstkonsole oder PowerShell. Eine sehr hilfreiche Methode ist es, den TLS-Handshake zwischen Client und Server mitzuschneiden oder im Falle eines Servers, in den Einstellungen des Servers oder Dienstes direkt zu schauen, welches Zertifikat eingebunden ist.

Direkte Untersuchung des Windows-Zertifikatspeichers

Sie können sich mit dem Windows-Zertifikatsmanager die Zertifikate anzeigen lassen. Öffnen Sie dazu certmgr.msc oder das MMC-Snap-In mit Zertifikaten (Delegierte Verwaltung) via mmc.exe: Klicken Sie auf Datei | Snap-In hinzufügen/entfernen und fügen Sie Zertifikate hinzu für den Benutzer, lokalen Computer oder Dienst.

Dort sehen Sie auf der linken Seite die unterschiedlichen Zertifikatspeicher (Persönlich, Vertrauenswürdige Stammzertifizierungsstellen, Zwischenzertifizierungsstellen etc.). Je nach Standort der Anwendung oder Dienst kann das relevante Zertifikat im aktuellen Benutzer- oder Computerkonto liegen.

Zertifikatssuchfunktion innerhalb der Anwendung oder Konfiguration

Viele Anwendungen geben in ihren Einstellungen oder Konfigurationsdateien an, welches Zertifikat genutzt wird. Zum Beispiel in IIS (Internet Information Services) wird im Bereich der Bindungen für HTTPS der Thumbprint oder der Name des Zertifikates angezeigt. Bei Windows-Diensten kann die Zertifikatsbindung ebenfalls per PowerShell oder speziellen Tools überprüft werden.

Mit PowerShell können Sie z.B. alle Zertifikate in einem Speicher auflisten:

Get-ChildItem -Path Cert:\LocalMachine\My

Hier sehen Sie alle Zertifikate im persönlichen Speicher des lokalen Computers. Sie können nach Thumbprint, Aussteller, Ablaufdatum usw. filtern. Wenn Sie die Thumbprints mit denen vergleichen, die in der Anwendungskonfiguration angegeben sind, finden Sie das verwendete Zertifikat.

Verwendung von Werkzeugen zum Erkennen verwendeter Zertifikate

Wenn die Anwendung z.B. ein Webserver ist, können Sie mit einem Browser die Verbindung aufbauen und das Zertifikat per Klick auf das Schloss-Symbol in der Adressleiste anzeigen lassen. So sehen Sie, welches Zertifikat präsentiert wird. Für lokale Programme, die intern Zertifikate verwenden, kann es nötig sein, beim Start oder in den Logs mehr Informationen zu aktivieren oder Debug-Tools zu verwenden.

Zusammenfassung

Das Ermitteln des von einer bestimmten Anwendung genutzten Zertifikats im Windows-Zertifikatspeicher ist häufig eine Kombination aus Anwendungskonfigurationsanalyse, Prüfung des installierten Zertifikats in den relevanten Zertifikatspeichern (Benutzer, Computer), sowie das Abfangen und Analysieren von Verbindungen (z.B. TLS). Werkzeuge wie certmgr.msc, PowerShell-Skripte, Browser bei Webanwendungen oder spezialisierte Netzwerkanalysewerkzeuge helfen dabei, das konkrete Zertifikat sicher zu identifizieren.

0

Kommentare