Authentifizierung am Registrierungsdienst für Netzwerkgeräte (NDES) mit einem existierenden Zertifikat (Renewal-Modus)

Der Registrierungsdienst für Netzwerkgeräte (NDES) verfügt über die Möglichkeit, sich mit einem bereits ausgestellten Zertifikat zu authentifizieren, um ein inhaltlich gleiches Zertifikat erneut zu beantragen. Dies ist sehr praktisch für Erneuerungs-Operationen, da somit der Bedarf entfällt, vorher ein One-Time Passwort zu beantragen.

Der Registrierungsdienst für Netzwerkgeräte (Network Device Enrollment Service, NDES) bietet eine Möglichkeit, Geräten, welche nicht über eine Kennung im Active Directory verfügen (beispielsweise Netzwerkgeräte wie Router, Switches, Drucker, Thin Clients oder Smartphones und Tablets), Zertifikate von einer Zertifizierungsstelle zu beantragen. Für eine detailliertere Beschreibung siehe Artikel "Grundlagen Registrierungsdienst für Netzwerkgeräte (Network Device Enrollment Service, NDES)".

Die Beantragung und Erneuerung von Zertifikaten über NDES ist auch mit der Windows PowerShell Modul PSCertificateEnrollment möglich. Siehe Artikel "Authentifizierung am Registrierungsdienst für Netzwerkgeräte (NDES) mit einem existierenden Zertifikat (Renewal-Modus)".

Die Authentifizierung mit einem bereits vorhandenen Zertifikat ist im RFC für NDES beschrieben.

If the client already has a certificate issued by the SCEP CA, and the CA supports renewal (see Section 2.5), that certificate SHOULD be used.

RFC 8894

Entsprechend ist die Funktion auch in der Microsoft-Umsetzung, dem Registrierungsdienst für Netzwerkgeräte (Network Device Enrollment Service, NDES) implementiert.

The NDES supports certificate renewal where a device uses a previously issued certificate to validate the new certificate request.

Active Directory Certificate Services (AD CS): Network Device Enrollment Service (NDES) (Microsoft)

Der Renewal-Modus ist in der Standardkonfiguration des NDES bereits aktiviert. Wer auf Nummer sicher gehen will, kann über Aufruf der folgende Adresse auf dem NDES Server die aktivierten Funktionen überprüfen.

http://{Servername-oder-Alias}/certsrv/mscep/mscep.dll/pkiclient.exe?operation=GetCACaps

Erneuerung mit Bordmitteln

Um eine Authentifizierung mit einem bestehenden Zertifikat vorzunehmen, muss in der Konfigurationsdatei für die Anforderung den SHA1-Fingerabdruck eines vorhandenen Zertifikats als Wert "RenewalCert" eintragen.

Das verwendete Zertifikat muss die gleiche Identität sowie von der gleichen Zertifizierungsstelle ausgestellt worden sein wie der neue Zertifikatantrag. Ein spezieller Extended Key Usage wie bei der Key-based Renewal der Zertifikatregistrierungs-Webdienste (CEP, CES) ist nicht erforderlich.

Den SHA1-Fingerabdruck findet man in der Karteikarte "Details" im Eigenschaften-Dialog eines Zertifikats.

Anschließend kann die Zertifikatanforderung mit folgendem Kommandozeilenbefehl erzeugt werden:

certreq -config {Servername-oder-Alias} -new {INF-Datei} {CSR-Datei}

Man bekommt einen Auswahl-Dialog präsentiert, in welchem man das zuvor anhand des Fingerabdrucks identifizierte Zertifikat wiederfindet.

Mit folgendem Kommandozeilenbefehl kann die Anforderung an den NDES-Server gesendet werden.

certreq -v -config {Servername-oder-Alias} -submit {CSR-Datei} {Zertifikat-Datei}

Das ausgestellte Zertifikat kann mit folgendem Kommandozeilenbefehl anschließend auf dem System installiert werden.

certreq -accept {Zertifikat-Datei}

Für die Beantragung kann auch folgendes Script verwendet werden:

@echo off

set SERVER= :: hier Servername oder Alias eintragen
set THUMBPRINT= :: hier SHA1-Fingerabdruck des alten Zertifikats eintragen

set INFFILE=ndesrenew_request.inf
set REQFILE=ndesrenew_request.req
set CRTFILE=ndesrenew_certificate.cer
set SUBJECT=TestNDESCert
set MACHINEKEYSET=false

set KEYLENGTH=2048
del /s /q %INFFILE%
del /s /q %REQFILE%
del /s /q %CRTFILE%

echo [NewRequest] > %INFFILE%
echo Subject = "CN=%SUBJECT%" >> %INFFILE%
echo RequestType = SCEP >> %INFFILE%
echo KeyLength = %KEYLENGTH% >> %INFFILE%
echo MachineKeySet = %MACHINEKEYSET% >> %INFFILE%
echo RenewalCert = "%THUMBPRINT%" >> %INFFILE%

echo Contacting %SERVER% and building request
certreq -v -config %SERVER% -new %INFFILE% %REQFILE%
pause

echo Sending Request to CA
certreq -v -config %SERVER% -submit %REQFILE% %CRTFILE%
pause

echo Installing the Certificate
certreq -accept %CRTFILE%
pause

Erneuern mit der Windows PowerShell

Die Erneuerung kann auch mit dem PSCertificateEnrollment PowerShell Modul vorgenommen werden. Hierzu siehe Artikel "Zertifikatbeantragung für Windows-Systeme über den Registrierungsdienst für Netzwerkgeräte (NDES) mit Windows PowerShell".

Weiterführende Links

Externe Quellen

de_DEDeutsch