Bei der Verwendung von selbstsignierten Zertifikaten oder Zertifikaten einer nicht-oeffentlichen Zertifizierungsstelle (CA) zeigen Clientcomputer Vertrauenswarnungen an, da sie die ausstellende CA nicht erkennen. Anstatt das Zertifikat manuell auf jedem Rechner zu installieren, koennen Sie vertrauenswuerdige Stammzertifikate automatisch an alle in die Domaene eingebundenen Computer ueber Group Policy verteilen. Dieser Leitfaden behandelt die Group-Policy-Methode, den certutil-Befehlszeilenansatz, Active Directory Certificate Services und die Grundlagen der Zertifikatspeicher.
Zertifikatspeicher verstehen
Windows organisiert Zertifikate in Speichern basierend auf ihrem Verwendungszweck:
Maschinenzertifikatspeicher
| Speicher | Zweck |
|---|---|
| Trusted Root Certification Authorities | Stammzertifikate der Zertifizierungsstelle, denen der Computer von Natur aus vertraut. Alle Zertifikatketten muessen bei einem Zertifikat in diesem Speicher enden. |
| Intermediate Certification Authorities | Zertifikate von Zertifizierungsstellen, die einer vertrauenswuerdigen Stammstelle untergeordnet sind. Werden verwendet, um Zertifikatketten zu vervollstaendigen. |
| Personal | Zertifikate, die fuer den Computer ausgestellt wurden (wie SSL-Zertifikate fuer IIS). |
| Trusted Publishers | Code-Signing-Zertifikate von vertrauenswuerdigen Softwareherausgebern. |
Benutzerzertifikatspeicher
Benutzerzertifikatspeicher haben die gleiche Struktur, gelten aber fuer den aktuellen Benutzer statt fuer die Maschine. Zertifikate im Maschinenspeicher gelten fuer alle Benutzer auf diesem Computer.
Zertifikatspeicher anzeigen
Oeffnen Sie den Zertifikatsmanager:
# Machine certificates (requires admin)
certlm.msc
# Current user certificates
certmgr.msc
Oder ueber die Befehlszeile:
# List certificates in the Trusted Root store
certutil -store Root
# List certificates in the machine personal store
certutil -store My
Methode 1: Verteilung ueber Group Policy (Empfohlen)
Group Policy ist die zuverlaessigste und skalierbarste Methode zur Verteilung von Zertifikaten an Domaenencomputer.
Schritt 1: Das Zertifikat exportieren
Falls Sie das Stammzertifikat der Zertifizierungsstelle noch nicht exportiert haben, tun Sie dies vom CA-Server oder von einem Rechner, auf dem es installiert ist:
# Export from the certificate store
certutil -store Root "CA Name" C:\certs\rootca.cer
# Or export from a certificate file
# Open certlm.msc, find the certificate, right-click > All Tasks > Export
# Choose DER encoded binary X.509 (.CER) or Base-64 encoded X.509 (.CER)
Schritt 2: Ein Group Policy Object erstellen oder bearbeiten
- Oeffnen Sie Group Policy Management (
gpmc.msc) - Erstellen Sie ein neues GPO oder bearbeiten Sie ein vorhandenes
- Verknuepfen Sie das GPO mit der Domaene (fuer alle Computer) oder einer bestimmten OU (fuer gezielte Verteilung)
Schritt 3: Das Zertifikat importieren
- Navigieren Sie im GPO-Editor zu:
Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Root Certification Authorities - Klicken Sie mit der rechten Maustaste auf Trusted Root Certification Authorities und waehlen Sie Import…
- Navigieren Sie zur Zertifikatdatei (
.cer,.crtoder.p7b) - Schliessen Sie den Import-Assistenten ab und stellen Sie sicher, dass der Speicher auf Trusted Root Certification Authorities gesetzt ist
Schritt 4: Zwischenzertifikate verteilen (falls erforderlich)
Wenn die CA-Kette Zwischenzertifikate umfasst, importieren Sie diese separat:
- Navigieren Sie zu:
Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Intermediate Certification Authorities - Importieren Sie die Zwischenzertifikat(e) der Zertifizierungsstelle
Schritt 5: Die Verteilung ueberpruefen
Nach der Group-Policy-Aktualisierung (bis zu 90 Minuten, oder erzwingen Sie sie sofort):
# Force Group Policy update
gpupdate /force
# Verify the certificate is in the store
certutil -store Root "Your CA Name"
# Or check via PowerShell
Get-ChildItem Cert:\LocalMachine\Root | Where-Object { $_.Subject -like "*Your CA*" }
Methode 2: Verwendung der certutil-Befehlszeile
Fuer einmalige Installationen oder Skripte ohne Group Policy:
Ein Zertifikat zum vertrauenswuerdigen Stammspeicher hinzufuegen
# Add to machine Trusted Root store (requires admin)
certutil -addstore Root C:\certs\rootca.cer
# Add to machine Intermediate store
certutil -addstore CA C:\certs\intermediate.cer
# Add to current user's Trusted Root store
certutil -user -addstore Root C:\certs\rootca.cer
Ein Zertifikat entfernen
# Remove from Trusted Root store by serial number
certutil -delstore Root "SerialNumberHere"
Skript fuer mehrere Maschinen
Kombinieren Sie es mit PowerShell Remoting fuer die Massenverteilung:
$computers = Get-ADComputer -Filter * -SearchBase "OU=Workstations,DC=corp,DC=example,DC=com"
$certPath = "\\fileserver\share\certs\rootca.cer"
foreach ($computer in $computers) {
Invoke-Command -ComputerName $computer.Name -ScriptBlock {
param($cert)
certutil -addstore Root $cert
} -ArgumentList $certPath
}
Methode 3: Active Directory Certificate Services (AD CS)
Wenn Ihre Organisation ihre eigene PKI betreibt, bietet Active Directory Certificate Services automatisches Vertrauen fuer alle Domaenenmitglieder.
Automatisches Vertrauen der Unternehmenszertifizierungsstelle
Wenn Sie eine Unternehmenszertifizierungsstelle installieren (integriert in Active Directory):
- Das Stammzertifikat der Zertifizierungsstelle wird automatisch in AD veroeffentlicht
- Alle in die Domaene eingebundenen Computer vertrauen der Zertifizierungsstelle automatisch ueber den NTAuth-Speicher
- Fuer das Zertifikat der Unternehmenszertifizierungsstelle ist keine manuelle GPO-Konfiguration erforderlich
AD CS installieren
# Install the AD CS role
Install-WindowsFeature AD-Certificate -IncludeManagementTools
# Configure as an Enterprise Root CA
Install-AdcsCertificationAuthority -CAType EnterpriseRootCa `
-CryptoProviderName "RSA#Microsoft Software Key Storage Provider" `
-KeyLength 4096 `
-HashAlgorithmName SHA256 `
-ValidityPeriod Years `
-ValidityPeriodUnits 10
Drittanbieter-Zertifikate in AD veroeffentlichen
Sie koennen externe Stammzertifikate in Active Directory veroeffentlichen, damit alle Domaenenmitglieder ihnen vertrauen:
# Publish to AD's NTAuth store
certutil -dspublish -f C:\certs\external-root.cer RootCA
# Publish an intermediate CA
certutil -dspublish -f C:\certs\external-intermediate.cer SubCA
Dies veroeffentlicht das Zertifikat im Container CN=Public Key Services,CN=Services,CN=Configuration,DC=corp,DC=example,DC=com in AD.
In AD veroeffentlichte Zertifikate ueberpruefen
# View certificates published in AD
certutil -viewstore "ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=corp,DC=example,DC=com"
Vertrauenswuerdige Stammzertifizierungsstellen vs. Zwischenzertifizierungsstellen
Das Verstaendnis der Zertifikatkette ist entscheidend fuer die korrekte Verteilung:
Struktur der Zertifikatkette
Root CA Certificate (Self-signed, in Trusted Root store)
└── Intermediate CA Certificate (Signed by Root, in Intermediate store)
└── Server/Client Certificate (Signed by Intermediate, in Personal store)
Was gehoert wohin
- Stammzertifikate der Zertifizierungsstelle gehoeren in den Speicher Trusted Root Certification Authorities
- Zwischenzertifikate der Zertifizierungsstelle gehoeren in den Speicher Intermediate Certification Authorities
- Serverzertifikate gehoeren in den Speicher Personal (My) auf dem Server
Haeufiger Fehler: Fehlende Zwischenzertifikate
Ein haeufiges Problem ist, dass der Stammzertifizierungsstelle vertraut wird, aber das Zwischenzertifikat fehlt. Der Client kann die vollstaendige Kette nicht aufbauen, was zu Vertrauensfehlern fuehrt. Verteilen Sie immer sowohl Stamm- als auch Zwischenzertifikate.
Zertifikatsverwaltung mit PowerShell
Zertifikate ueber PowerShell importieren
# Import to machine Trusted Root store
Import-Certificate -FilePath "C:\certs\rootca.cer" `
-CertStoreLocation Cert:\LocalMachine\Root
# Import to machine Intermediate store
Import-Certificate -FilePath "C:\certs\intermediate.cer" `
-CertStoreLocation Cert:\LocalMachine\CA
# Import a PFX (certificate with private key)
Import-PfxCertificate -FilePath "C:\certs\server.pfx" `
-CertStoreLocation Cert:\LocalMachine\My `
-Password (ConvertTo-SecureString "password" -AsPlainText -Force)
Zertifikate auflisten und suchen
# List all trusted root certificates
Get-ChildItem Cert:\LocalMachine\Root
# Find certificates expiring within 30 days
Get-ChildItem Cert:\LocalMachine\Root | Where-Object {
$_.NotAfter -lt (Get-Date).AddDays(30)
}
# Find certificates by subject
Get-ChildItem Cert:\LocalMachine\Root | Where-Object {
$_.Subject -like "*Corp Root CA*"
}
Zertifikate entfernen
# Remove by thumbprint
Get-ChildItem Cert:\LocalMachine\Root\AB1234567890ABCDEF | Remove-Item
Best Practices
- Verwenden Sie Group Policy fuer Domaenenumgebungen — Es ist die zuverlaessigste, ueberpruefbarste und skalierbarste Methode.
- Setzen Sie eine Unternehmenszertifizierungsstelle mit AD CS ein fuer interne Zertifikatsbeduerfnisse, anstatt sich auf selbstsignierte Zertifikate zu verlassen.
- Verteilen Sie sowohl Stamm- als auch Zwischenzertifikate, um Fehler durch unvollstaendige Ketten zu vermeiden.
- Ueberwachen Sie den Ablauf von Zertifikaten — Stammzertifizierungsstellen haben normalerweise lange Laufzeiten (10-20 Jahre), aber verfolgen Sie sie, um ueberraschende Ablaeufe zu vermeiden.
- Beschraenken Sie, was Sie zum vertrauenswuerdigen Stammspeicher hinzufuegen — Jedem Zertifikat in diesem Speicher wird vollstaendig vertraut. Fuegen Sie nur Zertifizierungsstellen hinzu, denen Sie wirklich vertrauen.
- Testen Sie zuerst in einer Test-OU — Bevor Sie Zertifikate domaenenweit bereitstellen, testen Sie das GPO auf einer Teilmenge von Computern.
Zusammenfassung
Die Verteilung vertrauenswuerdiger Stammzertifikate in einer Domaene macht die manuelle Installation auf jedem Computer ueberfluessig. Group Policy ist der empfohlene Ansatz fuer Active-Directory-Umgebungen — importieren Sie das Zertifikat in die entsprechende Richtlinie und lassen Sie GP es an alle Zielmaschinen verteilen. Fuer Organisationen mit internen PKI-Anforderungen bietet AD CS eine automatische Vertrauensverteilung fuer Unternehmenszertifizierungsstellen. Verteilen Sie immer die vollstaendige Zertifikatkette (Stamm- und Zwischenzertifizierungsstellen) und ueberpruefen Sie die Bereitstellung mit certutil oder PowerShell.