Tags: Zertifikate, PowerShell, Web-Browser
Nutzt man auf dem Server zur Absicherung von Verbindungen ein Zertifikat, dessen Herausgeber die Clients nicht trauen, dann werden die Benutzer mit einer Warnung konfrontiert. Um dies zu vermeiden, kann man das Zertifikat in den Store der PCs übertragen, bevorzugt über GPO oder auch via PowerShell.
Wenn es um den Import von Zertifikaten geht, dann können damit zwei Dinge gemeint sein. Zum einen beschreibt es den Vorgang, bei dem man zum Beispiel ein SSL-Zertifikat auf einer Workstation angefordert hat und dieses dann nach dem Export auf einen Web- oder Exchange-Server überträgt. Es liegt dafür als .pfx-Datei vor, und diese enthält auch den privaten Schlüssel.
Zum anderen kann der Import von Zertifikaten dazu dienen, Clients mit dem Aussteller eines selbstsignierten SSL-Zertifikats vertraut zu machen. Den Private Key benötigt man dafür nicht, im Gegenteil, er ist in diesem Fall auf den Endgeräten unerwünscht.
Betrifft diese Aktion nur wenige Rechner für die Systemverwaltung, wie es beim hier beschriebenen Beispiel des Admin Center der Fall sein kann, dann importiert man ein Zertifikat mit PowerShell. Ansonsten wird man Zertifikate über ein GPO verteilen.
Zertifikat am Server exportieren
Im ersten Schritt exportiert man das Zertifikat vom Server, zu dem sich die Clients verbinden sollen und dessen Zertifikat eine Warnung auslöst. Dies kann man über das Zertifikate-Snap-in der MMC tun.
Alternativ bietet sich der Download des Zertifikats über den Browser an, wo man das Symbol links in der Adressleiste anklickt, das Zertifikat anzeigt und speichert.
Entscheidet man sich für PowerShell, dann gibt man zuerst die Zertifikate im lokalen Store des Servers mit
dir Cert:\LocalMachine\my
aus und kopiert den Thumbprint von jenem, das man exportieren möchte. Anschließend weist man es mit dem Befehl
$c = dir Cert:\LocalMachine\my\739F9F658DE8F29AE99D49FD772AD31B3AB8A269
einer Variablen zu und übergibt diese dem Cmdlet Export-Certificate:
Export-Certificate -Cert $c -FilePath wac.crt
Zertifikat mit PowerShell importieren
Als Ergebnis erhält man in diesem Beispiel die Datei wac.crt, die man auf dem Client importiert:
Import-Certificate -FilePath .\wac.crt -CertStoreLocation "Cert:\LocalMachine\Root"
Wie man hier erkennt, erfolgt der Import nicht wie am Server unter "Eigene Zertifikate", sondern im Ordner Vertrauenswürdige Stammzertifizierungsstellen (root auf Englisch).
Zertifikate verteilen über Gruppenrichtlinien
Bevorzugt man die GPO-Variante, dann exportiert man wie oben beschrieben das Zertifikat auf dem Server. Anschließend erstellt man ein neues GPO und verlinkt es mit den OUs, in denen sich die Clients befinden, welche das Zertifikat erhalten sollen.
Anschließend öffnet man es im GPO-Editor und wechselt zur Einstellung Computerkonfiguration => Windows-Einstellungen => Sicherheitseinstellungen => Richtlinien für öffentliche Schlüssel => Vertrauenswürdige Stammzertifizierungsstellen.
Dort führt man aus dem Kontextmenü den Befehl Importieren aus. Dies startet den Wizard, bei dem man im zweiten Dialog die zuvor exportierte .crt-Datei auswählt.
Nach dem Speichern der Einstellungen lässt sich das Zertifikat am Client durch Ausführen von gpupdate sofort importieren. Verbindet man sich nun mit dem Server, in unserem Beispiel mit Windows Admin Center, dann sollte im Browser keine Warnung mehr auftauchen.
Dies gilt per Voreinstellung aber nicht für Firefox, der seinen eigenen Zertifikatspeicher mitbringt und vom beschriebenen Import nicht betroffen ist. Daher muss man diesen Browser erst dafür konfigurieren, die Zertifikate aus dem Windows-eigenen Store zu verwenden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Lets Encrypt-Zertifikat mit ACME2-Client ausstellen, installieren, automatisch erneuern
- Alle Windows-Server auf ablaufende Zertifikate prüfen mit PowerShell
- Windows-Zertifikatspeicher in Firefox nutzen
- Get-Certificate: SSL-Zertifikat mit PowerShell anfordern
- PowerShell Remoting über HTTPS mit einem selbstsignierten SSL-Zertifikat
Weitere Links
1 Kommentar
Hallo,
ich habe ein Cert genau so ausgeteilt. Leider landet es bei manchen PCs nicht und bei manchen schon. Interessant ist es wenn man das Cert manuell installiert ist es binnen stunden/tagen wieder verschwunden??!?!?