Dies ist eine alte Version des Dokuments!
Active Directory Certificate Services (ADCS) ist eine Serverrolle von Microsoft Windows Server, die es ermöglicht, eine Public Key Infrastructure (PKI) innerhalb einer Windows-Domäne bereitzustellen. Sie wird verwendet, um digitale Zertifikate auszustellen, zu verwalten, zu erneuern und zu widerrufen. Diese Zertifikate können zur Authentifizierung, Verschlüsselung und Signierung in verschiedenen Szenarien verwendet werden (z. B. für HTTPS, Email-Verschlüsselung, Smartcards oder VPN).
ADCS Tools/SnapIns
certsrv.msc | Verwaltung der Zertifizierungsstelle |
certtmpl.msc | Verwaltung der Zertifikatvorlagen |
certreq.exe | Zertifikatsanforderung per CLI |
certutil.exe | Diagnose und Management per CLI |
MMC → Zertifikate | Anzeige und Export von Zertifikaten |
ADCS veröffentlicht Zertifikate und Sperrlisten (CRL: Certifficate revokation list) unter folgenden Pfaden:
CDP (CRL Distribution Point) | Speicherort der Sperrliste | http://pki.domain.local/CRL/ca.crl |
AIA (Authority Information Access) | Speicherort des CA-Zertifikats | http://pki.domain.local/CA.crt |
Zertifizierungsstelle (CA) | Der zentrale Dienst, der Zertifikate ausstellt und verwaltet. |
Web Enrollment | Weboberfläche zur Zertifikatsanforderung und -verwaltung. |
Online Responder (OCSP) | Dient der Überprüfung von Zertifikatsstatus in Echtzeit. |
Network Device Enrollment Service (NDES) | Ermöglicht die Anmeldung von Netzwerkgeräten (z. B. Router, Switches). |
Zertifikatvorlagen (Templates) | Vordefinierte Einstellungen für automatische und manuelle Zertifikatserstellung. |
Zertifikatverteilungspunkte (CDP/AIA) | Speicherorte für Sperrlisten (CRL) und CA-Zertifikate. |
Erstelle eine Datei, z.B webserver.inf (Mit certtmpl.msc kannst du alle Vorlagen anzeigen)
[Version] Signature="$Windows NT$" [NewRequest] Subject = "CN=www.domain.com" ; Ändere auf deinen echten FQDN KeySpec = 1 KeyLength = 2048 Exportable = TRUE MachineKeySet = TRUE SMIME = FALSE PrivateKeyArchive = FALSE UserProtected = FALSE UseExistingKeySet = FALSE ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType = 12 RequestType = PKCS10 KeyUsage = 0xa0 [Extensions] 2.5.29.17 = "{text}" _continue_ = "dns=www.domain.com&" ; SAN-Eintrag _continue_ = "dns=domain.com" [RequestAttributes] CertificateTemplate = WebServer
Erzeuge einen CSR auf dem betreffenden Server.
certreq -new webserver.inf webserver.req
Die req Datei jetzt auf die CA kopieren und das Zertifikat erzeugen.
certreq -submit webserver.req webserver.cer
Das erzeugte Zertifikat wieder auf den Webserver kopieren und bestätigen.
certreq -accept webserver.cer
Zertifikat als PFX (inkl private key) exportieren.
# Öffne PowerShell als Administrator $cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*domain.com*" } $pwd = ConvertTo-SecureString -String "MeinSicheresPasswort123" -Force -AsPlainText Export-PfxCertificate -Cert $cert -FilePath "C:\webserver.pfx" -Password $pwd
Zertifikat als PFX (inkl private key) installieren.
Import-PfxCertificate -FilePath "C:\webserver.pfx" -CertStoreLocation Cert:\LocalMachine\My
# Zeige alle Templates certtmpl.msc