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

SpeicherZweck
Trusted Root Certification AuthoritiesStammzertifikate der Zertifizierungsstelle, denen der Computer von Natur aus vertraut. Alle Zertifikatketten muessen bei einem Zertifikat in diesem Speicher enden.
Intermediate Certification AuthoritiesZertifikate von Zertifizierungsstellen, die einer vertrauenswuerdigen Stammstelle untergeordnet sind. Werden verwendet, um Zertifikatketten zu vervollstaendigen.
PersonalZertifikate, die fuer den Computer ausgestellt wurden (wie SSL-Zertifikate fuer IIS).
Trusted PublishersCode-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

  1. Oeffnen Sie Group Policy Management (gpmc.msc)
  2. Erstellen Sie ein neues GPO oder bearbeiten Sie ein vorhandenes
  3. Verknuepfen Sie das GPO mit der Domaene (fuer alle Computer) oder einer bestimmten OU (fuer gezielte Verteilung)

Schritt 3: Das Zertifikat importieren

  1. Navigieren Sie im GPO-Editor zu:
    Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Root Certification Authorities
  2. Klicken Sie mit der rechten Maustaste auf Trusted Root Certification Authorities und waehlen Sie Import…
  3. Navigieren Sie zur Zertifikatdatei (.cer, .crt oder .p7b)
  4. 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:

  1. Navigieren Sie zu:
    Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Intermediate Certification Authorities
  2. 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):

  1. Das Stammzertifikat der Zertifizierungsstelle wird automatisch in AD veroeffentlicht
  2. Alle in die Domaene eingebundenen Computer vertrauen der Zertifizierungsstelle automatisch ueber den NTAuth-Speicher
  3. 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.