Die Beantragung eines Zertifikats über Enroll on Behalf of (EOBO) ist nicht möglich, da die Zertifikatvorlage nicht angezeigt wird. Die Fehlermeldung lautet "The certificate template requires too many RA signatures."

Folgendes Szenario angenommen:

  • Es wird für einen Benutzer oder einen Computer ein Zertifikat von einer Zertifizierungsstelle über die Verwaltungskonsole für Zertifikate (certlm.msc oder certmgr.msc) beantragt.
  • Man verwendet hierbei den Enroll on Behalf of (EOBO) Mechanismus.
  • Die gewünschte Zertifikatvorlage wird nicht angezeigt.
  • Aktiviert man das Kontrollkästchen "Show all templates", wird für die gewünschte Zertifikatvorlage folgende Fehlermeldung angezeigt:
The certificate template requires too many RA signatures. Only one RA signature is allowed. Multiple request agent signatures are not permitted on a certificate request.
„Die Beantragung eines Zertifikats über Enroll on Behalf of (EOBO) ist nicht möglich, da die Zertifikatvorlage nicht angezeigt wird. Die Fehlermeldung lautet "The certificate template requires too many RA signatures."“ weiterlesen

Grundlagen: Einschränkung der Pfadlänge (Path Length Constraint)

Der Ende 2008 vorgeführte Angriff auf den MD5 Signaturalgorithmus konnte nur deshalb zur Erstellung eines nutzbaren gefälschten Zertifizierungsstellen-Zertifikats verwendet werden, da die angegriffene Zertifizierungsstelle keine Einschränkung der Pfadlänge konfiguriert hatte.

Die Einschränkung der Pfadlänge ist im RFC 5280 beschrieben. Die Idee dahinter ist, dass in der "Basic Constraints" Erweiterung eines Zertifizierungsstellen-Zertifikats die maximale Tiefe der Zertifizierungsstellen-Hierarchie hinterlegt wird.

„Grundlagen: Einschränkung der Pfadlänge (Path Length Constraint)“ weiterlesen

Ein Exit Modul für die Zertifizierungsstelle in C# erstellen

Microsoft Active Directory Certificate Services bietet die Möglichkeit, eigene Policy- und Exitmodule zu entwickeln, um die Funktionalität der Zertifizierungsstelle zu erweitern.

Nachfolgend die notwendigen Schritte, um ein Exit Modul in C# mit Visual Studio 2019 zu erstellen. Das Exit Modul wird ausgestellte Zertifikate in ein konfigurierbares Verzeichnis im Dateisystem schreiben.

„Ein Exit Modul für die Zertifizierungsstelle in C# erstellen“ weiterlesen

Konfigurieren der Trusted Platform Module (TPM) Key Attestation

Seit Windows 8 ist es möglich, dass private Schlüssel für Zertifikate mit einem – sofern vorhanden – Trusted Platform Modul (TPM) geschützt werden. Dadurch ist eine Nichtexportierbarkeit des Schlüssels – auch mit Werkzeugen wie mimikatz – gegeben.

Auf den Ersten Blick ist allerdings nicht ersichtlich, dass nicht garantiert werden kann, dass auch wirklich ein TPM zum Einsatz kommt. Zwar wird keine Beantragung über die Microsoft Management Console oder AutoEnrollment möglich sein, wenn der Computer über kein TPM verfügt.

Es handelt sich jedoch bei der Konfiguration in der Zertifikatvorlage lediglich um eine Voreinstellung für den Client. Die Zertifizierungsstelle wird bei Beantragung nicht explizit prüfen, ob auch wirklich ein Trusted Platform Modul verwendet wurde.

Um sicherzustellen, dass der private Schlüssel einer Zertifikatanforderung wirklich mit einem Trusted Platform Modul geschützt wurde verbleibt also nur die TPM Key Attestation.

„Konfigurieren der Trusted Platform Module (TPM) Key Attestation“ weiterlesen

Manuelle Beantragung eines Webserver-Zertifikats

Es gibt Fälle, in welchen man Webserver-Zertifikate nicht über die Microsoft Management Console direkt von einer Zertifizierungsstelle in der eigenen Active Directory Gesamtstruktur beziehen kann oder möchte, beispielsweise wenn das betreffende System kein Domänenmitglied ist.

In diesem Fall ist die Verwendung von Zertifikatvorlagen nicht möglich, und man muss manuell einen Zertifikatantrag (Certificate Signing Request, CSR erstellen).

„Manuelle Beantragung eines Webserver-Zertifikats“ weiterlesen

Details zum Ereignis mit ID 4 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll

Ereignisquelle:Microsoft-Windows-CertificateServicesClient-CertEnroll
Ereignis-ID:4 (0x425A0004)
Ereignisprotokoll:Application
Ereignistyp:Information
Ereignistext (englisch):Certificate enrollment for %1 could not access local resources or retrieve %2 certificate template information (%3). Enrollment was not performed.
Ereignistext (deutsch):Die Zertifikatregistrierung für %1 konnte nicht auf lokale Ressourcen zugreifen bzw Zertifikatvorlageninformationen für %2 abrufen (%3). Es wird keine Registrierung durchgeführt.
„Details zum Ereignis mit ID 4 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll“ weiterlesen

Details zum Ereignis mit ID 13 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll

Ereignisquelle:Microsoft-Windows-CertificateServicesClient-CertEnroll
Ereignis-ID:13 (0xC25A000D)
Ereignisprotokoll:Application
Ereignistyp:Error
Ereignistext (englisch):Certificate enrollment for %1 failed to enroll for a %2 certificate with request ID %4 from %3 (%5).
Ereignistext (deutsch):Die Zertifikatregistrierung für %1 konnte sich nicht für ein Zertifikat %2 mit der Anforderungs-ID %4 von %3 (%5) registrieren.
„Details zum Ereignis mit ID 13 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll“ weiterlesen

Details zum Ereignis mit ID 57 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll

Ereignisquelle:Microsoft-Windows-CertificateServicesClient-CertEnroll
Ereignis-ID:57 (0x825A0039)
Ereignisprotokoll:Application
Ereignistyp:Information, Warning und Error
Ereignistext (englisch):The "%2" provider was not loaded because initialization failed.
Ereignistext (deutsch):Der "%2"-Anbieter wurde aufgrund eines Initialisierungsfehlers nicht geladen.
„Details zum Ereignis mit ID 57 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll“ weiterlesen

Details zum Ereignis mit ID 82 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll

Ereignisquelle:Microsoft-Windows-CertificateServicesClient-CertEnroll
Ereignis-ID:82 (0x825A0052)
Ereignisprotokoll:Application
Ereignistyp:Warning
Ereignistext (englisch):Certificate enrollment for %1 failed in authentication to all urls for enrollment server associated with policy id: %2 (%4). Failed to enroll for template: %3
Ereignistext (deutsch):Fehler bei der Zertifikatregistrierung für %1 bei der Authentifizierung für alle URLs für den Registrierungsserver, der folgender Richtlinien-ID zugeordnet ist: %2 (%4). Fehler bei der Registrierung für Vorlage: %3
„Details zum Ereignis mit ID 82 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll“ weiterlesen

Die Beantragung eines Zertifikats schlägt fehl mit Fehlermeldung "A certificate issued by the certification authority cannot be installed. Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)"

Folgendes Szenario angenommen:

  • Es wird ein Zertifikat von einer Zertifizierungsstelle beantragt.
  • Das Zertifikat wird erfolgreich von der Zertifizierungsstelle ausgestellt.
  • Bei der Installation des Zertifikats auf dem Zielsystem kommt es jedoch zu folgender Fehlermeldung:
A certificate issued by the certification authority cannot be installed. Contact your administrator.
Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)
„Die Beantragung eines Zertifikats schlägt fehl mit Fehlermeldung "A certificate issued by the certification authority cannot be installed. Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)"“ weiterlesen

Beantragen eines durch ein Trusted Platform Modul (TPM) geschütztes Zertifikat – ohne ein TPM zu besitzen

Seit Windows 8 ist es möglich, dass private Schlüssel für Zertifikate mit einem – sofern vorhanden – Trusted Platform Modul (TPM) geschützt werden. Dadurch ist eine Nichtexportierbarkeit des Schlüssels – auch mit Werkzeugen wie mimikatz – gegeben.

Auf den Ersten Blick ist allerdings nicht ersichtlich, dass nicht garantiert werden kann, dass auch wirklich ein TPM zum Einsatz kommt. Zwar wird keine Beantragung über die Microsoft Management Console oder AutoEnrollment möglich sein, wenn der Computer über kein TPM verfügt.

Es handelt sich jedoch bei der Konfiguration in der Zertifikatvorlage lediglich um eine Voreinstellung für den Client. Die Zertifizierungsstelle wird bei Beantragung nicht explizit prüfen, ob auch wirklich ein Trusted Platform Modul verwendet wurde.

Somit können – wenn die Zertifikatbeantragung abseits der MMC erfolgt, beliebige Parameter für den privaten Schlüssel verwendet werden.

„Beantragen eines durch ein Trusted Platform Modul (TPM) geschütztes Zertifikat – ohne ein TPM zu besitzen“ weiterlesen

Die Beantragung eines Zertifikats ist nicht möglich, da die Zertifikatvorlage nicht angezeigt wird. Die Fehlermeldung lautet "Can not find a valid CSP in the local machine."

Folgendes Szenario angenommen:

  • Es wird für einen Benutzer oder einen Computer ein Zertifikat von einer Zertifizierungsstelle über die Verwaltungskonsole für Zertifikate (certlm.msc oder certmgr.msc) beantragt.
  • Autoenrollment beantragt kein Zertifikat von der gewünschten Zertifikatvorlage, obwohl es aktiviert ist und die Berechtigungen entsprechend gesetzt sind.
  • Die gewünschte Zertifikatvorlage wird bei manueller Beantragung über die Microsoft Management Konsole (MMC) nicht angezeigt. Aktiviert man das Kontrollkästchen "Show all templates", wird für die gewünschte Zertifikatvorlage folgende Fehlermeldung angezeigt:
Cannot find object or property.
Can not find a valid CSP in the local machine.
„Die Beantragung eines Zertifikats ist nicht möglich, da die Zertifikatvorlage nicht angezeigt wird. Die Fehlermeldung lautet "Can not find a valid CSP in the local machine."“ weiterlesen

Konfigurieren einer Zertifikatvorlage für die Verwendung des Microsoft Platform Crypto Provider, um Schutz des privaten Schlüssels durch ein Trusted Platform Module (TPM) zu ermöglichen

Seit Windows 8 ist es möglich, dass private Schlüssel für Zertifikate mit einem – sofern vorhanden – Trusted Platform Modul (TPM) geschützt werden. Dadurch ist eine echte Nichtexportierbarkeit des Schlüssels gegeben.

Nachfolgend wird der Prozess zur Einrichtung einer Zertifikatvorlage, die ein Trusted Platform Modul verwendet, beschrieben.

„Konfigurieren einer Zertifikatvorlage für die Verwendung des Microsoft Platform Crypto Provider, um Schutz des privaten Schlüssels durch ein Trusted Platform Module (TPM) zu ermöglichen“ weiterlesen

Die Beantragung eines Trusted Platform Module (TPM) geschützten Zertifikats schägt fehl mit Fehlermeldung "The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)"

Folgendes Szenario angenommen:

  • Es ist eine Zertifikatvorlage für die Verwendung des Microsoft Platform Crypto Provider konfiguriert, sodass der bei der Beantragung des Zertifikats erzeugte private Schlüssel mit einem Trusted Platform Module (TPM) geschützt ist.
  • Die Beantragung von Zertifikaten schlägt jedoch mit folgender Fehlermeldung fehl:
An error occurred while enrolling for a certificate.
A certificate request could not be created.
Url: CA02.intra.adcslabor.de\ADCS Labor Issuing CA 1
Error: The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)
„Die Beantragung eines Trusted Platform Module (TPM) geschützten Zertifikats schägt fehl mit Fehlermeldung "The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)"“ weiterlesen

Google Chrome und Microsoft Edge prüfen Sperrstatus von Zertifikaten nicht

Immer mehr Unternehmen setzen als Standardbrowser auf der Windows-Plattform den Google Chrome Browser oder den neuen auf Chromium basierenden Microsoft Edge (Codename Anaheim) ein.

Bei der Verteilung eines dieser beiden Browser sollte beachtet werden, dass sie sich in Hinsicht auf Zertifikate teils abweichend zu andere Browsern verhalten.

Nebst der Tatsache, dass Chromium im Gegensatz zum Internet Explorer und dem vorigen Edge (Codename Spartan) das RFC 2818 erzwingt, verhält er sich auch bei der Prüfung von Sperrinformationen anders.

„Google Chrome und Microsoft Edge prüfen Sperrstatus von Zertifikaten nicht“ weiterlesen
de_DEDeutsch