Tags: Zertifikate, Verschlüsselung
PowerShell 5.x unterstützt den IETF-Standard Cryptographic Message Syntax (CMS) zur Verschlüsselung von Dateien oder Log-Einträgen. Dafür benötigt es ein Zertifikat, das speziell für diesen Zweck ausgestellt wurde. Möchte man es von einer Windows-CA anfordern, dann muss man dafür erst ein Template einrichten.
Microsofts Anleitungen, beispielsweise jene zu Protect-CmsMessage, beschreiben stets das Vorgehen, um ein selbstsigniertes Zertifikat für die Dokumentenverschlüsselung mit certreq.exe auszustellen. Dabei packt man die Daten für die Anforderung des Zertifikats in eine .inf-Datei nach diesem Muster:
Anschließend ruft man
certreq -new <Name-der-INF-Datei>.inf <Name-des-Zertifikats>.cer
auf, um das Zertifikat anzufordern. Dieses landet dann im lokalen Speicher des angemeldeten Benutzers. Von dort kann man es exportieren und per GPO auf jene Rechner übertragen, auf denen man Daten verschlüsseln möchte.
Template für Enterprise-CA erstellen
Bevorzugt man anstelle eines selbstsigniertes Zertifikats eines, welches von einer internen Windows-CA ausgestellt wurde, dann fehlt dort standardmäßig die dafür erforderliche Vorlage. Wenn man eine solche anlegt, dann kann man sich an den Vorgaben der obigen .inf-Datei orientieren.
Im ersten Schritt öffnet man die Zertifikatsvorlagenkonsole certtmpl.msc und kopiert ein geeignetes vorhandenes Templates. In unserem Beispiel nehmen wir dazu Benutzer.
Anschließend vergeben wir unter dem Reiter Allgemein den Namen für die neue Vorlage und legen die Gültigkeitsdauer fest.
Danach ändern wir unter Anforderungsverarbeitung den Zweck auf Verschlüsselung. Dort lässt man außerdem den Export des privaten Schlüssels zu, falls Zertifikate für die Dokumentenverschlüsselung auf mehreren Rechnern benötigt werden, um dort die Dokumente zu entschlüsseln.
Analog zu der Anforderung in der oben gezeigten .inf-Datei sollte die Schlüssellänge mindestens 2048 Bits betragen, die entsprechende Einstellung findet sich in der Registerkarte Kryptographie.
Wichtig ist es nun, die notwendigen Einstellungen unter dem Reiter Erweiterungen zu konfigurieren. Dort bearbeiten wir die Anwendungsrichtlinien und entfernen alle vorhandenen Einträge. Stattdessen fügen wir Dokumentenverschlüsselung hinzu.
Standardmäßig dient das neue Zertifikat zur Verschlüsselung von Zertifikaten (CERT_KEY_ENCIPHERMENT_KEY_USAGE in der .inf-Datei), was für die hier beschriebene Aufgabe grundsätzlich ausreicht. Möchte man noch CERT_DATA_ENCIPHERMENT_KEY_USAGE hinzufügen, dann editiert man den Eintrag Schlüsselverwendung und hakt im nächsten Dialog die Option Verschlüsselung von Benutzerdaten zulassen an.
Schließlich überzeugt man sich, dass auf der Registerkarte Sicherheit all jene Benutzer, die ein Zertifikat auf Basis dieser Vorlage anfordern sollen, das Recht Registrieren besitzen.
Zertifikat anfordern
Möchte man nun ein Zertifikat zur Verschlüsselung von Dokumenten anfordern, dann wird dies wahrscheinlich daran scheitern, dass die Vorlage in der Active-Directory-Registrierungsrichtlinie nicht verfügbar ist. Daher muss man das Template erst veröffentlichen.
Nach Überwindung dieser Hürde gibt man in der Details des Requests den Namen des Antragstellers in einem Format ein, das man in der Vorlage dafür vorgesehen hat. Unter Privater Schlüssel => Schlüsseloptionen sollte man sich überzeugen, ob dieser exportierbar ist, falls benötigt.
Nach dem Klick auf Registrieren sollte das neue Zertifikat nun im Speicher des aktuellen Benutzers erscheinen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Active Directory-Zertifikatsdienste zu SHA-2 und KSP migrieren
- AD-Zertifikatsdienste (AD CS) von SHA-1 auf SHA-2 migrieren: Gründe und Hindernisse
- BitLocker Network Unlock: PCs mit verschlüsselten Laufwerken remote verwalten
- Zertifikat für BitLocker Recovery Agent ausstellen
- Mit ManageEngine SSH-Schlüssel automatisch verwalten
Weitere Links