Eine manuell erstellte Zertifikatanforderung an eine Zertifizierungsstelle senden

Liegt eine Zertifikatanforderung, beispielsweise nach manueller Erzeugung, in Form einer Textdatei (üblicherweise mit Endung .CSR oder .REQ) vor, kann diese mit Bordmitteln an die Zertifizierungsstelle gesendet werden.

Kennen Sie TameMyCerts? TameMyCerts ist ein Add-On für die Microsoft Zertifizierungsstelle (Active Directory Certificate Services). Es erweitert die Funktion der Zertifizierungsstelle und ermöglicht die Anwendung von Regelwerken, um die sichere Automatisierung von Zertifikat-Ausstellungen zu realisieren. TameMyCerts ist einzigartig im Microsoft-Ökosystem, hat sich bereits in unzähligen Unternehmen auf der ganzen Welt bewährt und steht unter einer freien Lizenz. Es kann über GitHub heruntergeladen und kostenlos verwendet werden. Professionelle Wartung wird ebenfalls angeboten.

Voraussetzungen

Folgende Voraussetzungen müssen erfüllt sein, um die Zertifikatanforderung an die Zertifizierungsstelle senden zu können:

  • Das Benutzer- und das Computerkonto müssen Mitglied der gleichen Active Directory Gesamtstruktur sein.
  • Das Recht, gegenüber der Zertifizierungsstelle Zertifikatanforderungen einreichen zu können.
  • Das Recht auf der Zertifikatvorlage, Zertifikatanforderungen einreichen zu können.

Folgende Informationen werden benötigt:

  • Der Name der Zertifizierungsstelle.
  • Der Computername des Servers, auf welchem die Zertifizierungsstelle betrieben wird.
  • Der Objektname der gewünschten Zertifikatvorlage.

Optional: Inspizieren der Zertifikatanforderung

Die Zertifikatanforderung kann vor der Übertragung an die Zertifizierungsstelle mit folgendem Kommandozeilenbefehl überprüft werden:

certutil -dump {Zertifikatanforderung}

Senden der Zertifikatanforderung an die Zertifizierungsstelle

Anschließend kann die Zertifikatanforderung mit folgendem Kommandozeilenbefehl an die Zertifizierungsstelle gesendet werden:

certreq -attrib "CertificateTemplate:{Name-der-Zertifikatvorlage}" -submit {Zertifikatantrag}.req

Zu beachten ist, dass der Name der Zertifikatvorlage mit dem -attrib Argument angegeben wird. Hierbei ist der Name des LDAP-Objektes, nicht der Anzeigename der Zertifikatvorlage zu verwenden (meist ist dies der Anzeigename ohne Leerzeichen).

Man wird zur Auswahl der Zertifizierungsstelle aufgefordert.

Nach Eingabe des Befehls wird man zur Auswahl einer Ziel-Zertifizierungsstelle aufgefordert, danach wird der Zertifikatantrag an diese versendet.

Ausstellen des beantragten Zertifikats

Auf der Ziel-Zertifizierungsstelle taucht der Zertifikatantrag nun auf der Liste der ausstehenden Zertifikatanforderungen auf und kann dort von einem Zertifikatmanager nach erfolgter Überprüfung ausgestellt werden.

Abholen des ausgestellten Zertifikats

Zurück auf dem beantragenden System kann das ausgestellte Zertifikat unter Angabe der Anforderungs-ID (Request ID) nun abgeholt werden:

certreq -retrieve {Anforderungs-ID}

Erweiterte Kommandozeilenargumente für certreq

Das -config Argument

Mit dem -config Argument kann die zu verwendende Zertifizierungsstelle oder der zu verwendende Zertifikatregistrierungs-Webdienst (CES) angegeben werden. Die Zertifizierungsstelle wird im Format "{Servername}\{Name-der-CA}" angegeben.

Beispiel:

certreq -config "CA03.intra.adcslabor.de\ADCS Labor Issuing CA 2" -submit "C:\Users\rudi\Desktop\test.req" 

Das -username Argument und das -p Argument

Wird die Zertifikatanforderung an einen Zertifikatregistrierungs-Webdienst (CES) gesendet, ist auch eine Authentifizierung mit Benutzername und Passwort möglich. Der Benutzername kann mit dem -username Argument angegeben werden. Es ist erforderlich, das Passwort des Benutzers mit dem -p Argument anzugeben.

Beispiel:

certreq -username "INTRA\rudi" -p "password" -config "https://ces01.intra.adcslabor.de/ADCS%20Labor%20Issuing%20CA%202_CES_UsernamePassword/service.svc/CES" -submit "C:\Users\rudi\Desktop\test.req"

Das -kerberos Argument

Wird die Zertifikatanforderung an einen Zertifikatregistrierungs-Webdienst (CES) gesendet, ist auch eine Authentifizierung über Kerberos möglich. Wünscht man, eine Kerberos-Authentifizierung durchzuführen, muss dies mit dem -kerberos Argument angegeben werden.

Beispiel:

certreq -kerberos -config "https://ces01.intra.adcslabor.de/ADCS%20Labor%20Issuing%20CA%202_CES_Kerberos/service.svc/CES" -submit "C:\Users\rudi\Desktop\test.req"

Das ausgestellte Zertifikat als Argument mitgeben

Soll das von der Zertifizierungsstelle ausgestellte Zertifikat direkt in eine Datei geschrieben werden, kann der Dateiname als letztes Argument angegeben werden.

Beispiel:

Weiterführende Links:

de_DEDeutsch