Was passiert, wenn ein Benutzer mehrere Zertifikate beantragt hat?

Ich bin neulich auf das Phänomen getroffen, dass aufgrund einer fehlerhaften Beantragungslogik mehrere Benutzer in regelmäßigen Anständen neue Zertifikatanforderungen gestellt hatten.

Die Zertifikatvorlage war konfiguriert, eingehende Zertifikatanforderungen durch einen Zertifikatmanager freigeben zu lassen, d.h. es erfolgte keine automatische Ausstellung der Zertifkate. Die Zertifikatanforderungen sollten durch einen eigenen Code überprüft und anschließend freigegeben werden.

Man würde nun erwarten, dass (da alle Zertifikatanträge letztendlich genehmigt würden) die Benutzer nun mehrere Zertifikate gleichen Typs in ihrem Zertifikatspeicher (und den Anwendungen, welche diesen nutzen) vorfinden würden. Dem war aber nicht der Fall.

„Was passiert, wenn ein Benutzer mehrere Zertifikate beantragt hat?“ weiterlesen

Das Datenbankschema der Zertifizierungsstellen-Datenbank

Möchte man Abfragen gegen die Zertifizierungsstellen-Datenbank formulieren, muss man zuerst wissen, wonach man suchen möchte.

Es gibt die Möglichkeit, das Datenbankschema der Zertifizierungsstellen-Datenbank ausgeben zu lassen.

„Das Datenbankschema der Zertifizierungsstellen-Datenbank“ weiterlesen

Die Wiederherstellung der Verbindung zum privaten Schlüssel schlägt fehl mit Fehlermeldung "Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)"

Folgendes Szenario angenommen:

Cannot find the certificate and private key for decryption.
CertUtil: -repairstore command FAILED: 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)
CertUtil: Cannot find object or property.
„Die Wiederherstellung der Verbindung zum privaten Schlüssel schlägt fehl mit Fehlermeldung "Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)"“ weiterlesen

Die Installation der Standard-Zertifikatvorlagen schlägt fehl mit Fehlermeldung "This security ID may not be assigned as the owner of this object."

Folgendes Szenario angenommen:

  • Es soll erstmalig eine ins Active Directory integrierte Zertifizierungsstelle (Enterprise Certification Authority) im Netzwerk installiert werden.
  • Die Rechte für die Installation der Zertifizierungsstelle wurden aus Sicherheitsgründen auf eine separate Sicherheitsgruppe oder ein separates Konto delegiert, sodass keine Anmeldung als Enterprise Administrator erforderlich ist. Andersherum formuliert: Der verwendete Benutzer ist nicht Mitglied der Gruppe "Enterprise Administrators" in der Active Directory Gesamtstruktur.
  • Da es sich um die erste Zertifizierungsstelle im Netzwerk handelt, sind noch keine Standard-Zertifikatvorlagen im Active Directory installiert. Beim Öffnen der Verwaltungskonsole für Zertifikatvorlagen (certtmpl.msc) wird man aufgefordert, diese zu installieren.
  • Die Installation schlägt mit folgender Fehlermeldung fehl:
Windows could not install the new certificate templates. This security ID may not be assigned as the owner of this object.
„Die Installation der Standard-Zertifikatvorlagen schlägt fehl mit Fehlermeldung "This security ID may not be assigned as the owner of this object."“ weiterlesen

Codesignaturen von Appx Paketen per SignTool.exe schlagen fehl mit Fehlercode 0x8007000b (ERROR_BAD_FORMAT)

Folgendes Szenario angenommen:

  • Es soll ein Appx Paket signiert werden.
  • Hierfür wird die SignTool.exe verwendet.
  • Das verwendete Codesignaturzertifikat wurde jüngst erneuert.
  • Der Signaturvorgang mit dem neuem Codesignaturzertifikat schlägt mit folgender Fehlermeldung fehl:
"Error: SignerSign() failed." (-2147024885/0x8007000b) 
„Codesignaturen von Appx Paketen per SignTool.exe schlagen fehl mit Fehlercode 0x8007000b (ERROR_BAD_FORMAT)“ weiterlesen

Zertifikate mit verkürzter Gültigkeitsdauer ausstellen

Manchmal ist es erforderlich, Zertifikate mit einer kürzeren Gültigkeitsdauer auszustellen, als sie in der Zertifikatvorlage konfiguriert ist. Vielleicht möchte man deshalb nicht gleich die Zertifikatvorlage umkonfigurieren oder eine weitere Zertifikatvorlage erstellen.

„Zertifikate mit verkürzter Gültigkeitsdauer ausstellen“ weiterlesen

Stammstellen-Zertifikate werden auf Domänenmitgliedern in den Zertifikatspeicher für Zwischenzertifizierungsstellen importiert

Manch einem wird aufgefallen sein, dass der Zertifikatspeicher für Zwischenzertifizierungsstellen üblicherweise auch Zertifikate für Stammzertifizierungsstellen beinhaltet.

In der Regel ist dieses Verhalten unkritisch. In bestimmten Fällen kann dies allerdings auch Probleme mit Anwendungen hervorrufen.

„Stammstellen-Zertifikate werden auf Domänenmitgliedern in den Zertifikatspeicher für Zwischenzertifizierungsstellen importiert“ weiterlesen

Wiederherstellen von Zertifikaten aus den Daten des SMTP Exit Moduls

Stellt man eine Zertifizierungsstelle nach einem Katastrophenfall aus einer Sicherung (Backup) wieder her, wird man vermutlich feststellen, dass Zertifikate in dem Zeitraum zwischen der letzten Sicherung und dem Ausfall des Systems mit entsprechendem Datenverlust ausgestellt worden.

Diese Zertifikate sind nun nicht in der wiederhergestellten Zertifizierungsstellen-Datenbank gespeichert, somit können sie im Bedarfsfall auch nicht wiederhergestellt werden.

Hat man das SMTP Exit Modul im Einsatz, kann man aus den versendeten E-Mails wenigstens die Seriennummern der Zertifikate ermitteln und diese widerrufen.

„Wiederherstellen von Zertifikaten aus den Daten des SMTP Exit Moduls“ weiterlesen

Der lokale Zertifikatspeicher für vertrauenswürdige Stammzertifizierungsstellen wird nicht aus dem Active Directory synchronisiert

Folgendes Szenarion angenommen:

  • Es ist eine Zertifizierungsstellen-Hierarchie im Netzwerk etabliert und die Stammzertifizierungsstelle ist in der Configuration-Partition der Active Directory Gesamtstruktur abgebildet.
  • Die Domänenmitglieder sind konfiguriert, den Autoenrollment-Prozess auszuführen und somit vertrauenswürdige Stammzertifizierungsstellen aus der Configuration-Partition zu aktualisieren.
  • Bei einigen Clients funktioniert dieser Prozess allerdings nicht. Die Stammzertifizierungsstellen-Zertifikate werden nicht automatisch heruntergeladen und in den lokalen Vertrauensspeicher eingetragen.
  • Als Folgeerscheinung können Zertifikatbeantragungen fehlschlagen, da beispielsweise der Zertifizierungsstellen-Hierarchie nicht vertraut wird.
„Der lokale Zertifikatspeicher für vertrauenswürdige Stammzertifizierungsstellen wird nicht aus dem Active Directory synchronisiert“ weiterlesen

Fehlersuche für die automatische Zertifikatbeantragung (Autoenrollment) via RPC/DCOM

Folgendes Szenario angenommen:

  • Es ist eine Zertifikatvorlage für die automatische Beantragung von Zertifikaten konfiguriert (Autoenrollment).
  • Die Zertifikatvorlage ist auf einer ins Active Directory integrierten Zertifizierungsstelle (Enterprise Certification Authority) veröffentlicht.
  • Die für die automatische Zertifikatbeantragung konfigurierten Benutzer oder Computer beantragen allerdings nicht wie vorgesehen Zertifikate.

Nachfolgend eine Anleitung zur Fehlersuche.

„Fehlersuche für die automatische Zertifikatbeantragung (Autoenrollment) via RPC/DCOM“ weiterlesen

Es wird kein Zertifikat per Autoenrollment beantragt, wenn ein Benutzer per Virtual Private Network (VPN) verbunden ist

Folgendes Szenario angenommen:

  • Ein Benutzer arbeitet remote über Virtual Private Network (VPN)
  • Eigentlich sollte per Autoenrollment ein Zertifikat beantragt werden, dies erfolgt jedoch nicht
  • Ein Verbindungstest (certutil -ping) zur Zertifizierungsstelle wirft folgende Fehlermeldung:
Server could not be reached: The RPC server is unavailable. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE) -- (31ms)

CertUtil: -ping command FAILED: 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)
CertUtil: The RPC server is unavailable.
„Es wird kein Zertifikat per Autoenrollment beantragt, wenn ein Benutzer per Virtual Private Network (VPN) verbunden ist“ weiterlesen

Der Widerruf eines ausgestellten Zertifikats schlägt fehl mit Fehlermeldung "The data is invalid. 0x8007000d (WIN32: 13 ERROR_INVALID_DATA)"

Folgendes Szenario angenommen:

  • Es wird ein Zertifikat über die Kommandozeile widerrufen (certutil -revoke).
  • Der Vorgang schlägt mit folgender Fehlermeldung fehl:
ICertAdmin::RevokeCertificate: The data is invalid. 0x8007000d (WIN32: 13 ERROR_INVALID_DATA)
„Der Widerruf eines ausgestellten Zertifikats schlägt fehl mit Fehlermeldung "The data is invalid. 0x8007000d (WIN32: 13 ERROR_INVALID_DATA)"“ weiterlesen

Microsoft Outlook: Empfänger-Zertifikate bei S/MIME verschlüsselten Mails herausfinden

Zur Fehlersuche bei mittels Secure/Multipurpose Internet Mail Extensions (S/MIME) verschlüsselten E-Mail Nachrichten, kann der verschlüsselte Teil einer Nachricht exportiert werden. Siehe hierzu Artikel "Microsoft Outlook: Extrahieren einer verschlüsselten S/MIME Nachricht aus einer E-Mail".

Um herauszufinden, mit welchen Zertifikaten eine Nachricht verschlüsselt wurde, kann wie folgt vorgegangen werden…

„Microsoft Outlook: Empfänger-Zertifikate bei S/MIME verschlüsselten Mails herausfinden“ weiterlesen

Microsoft Outlook: Einsehen, welcher Algorithmus für eine S/MIME verschlüsselte oder signierte E-Mail verwendet wurde

Nachfolgend wird beschrieben, an welcher Stelle eingesehen werden kann, welcher symmetrische Algorihmus für die Verschlüsselung einer erhaltenen E-Mail verwendet wurde, und welcher Hashalgoritmus für eine signierte E-Mail verwendet wurde.

„Microsoft Outlook: Einsehen, welcher Algorithmus für eine S/MIME verschlüsselte oder signierte E-Mail verwendet wurde“ weiterlesen

Die erweiterte Schlüsselverwendung (Extended Key Usage, EKU) für importierte Stammzertifizierungstellen-Zertifikate einschränken

Eine sinnvolle Härtungsmaßnahme für Zertifizierungsstellen ist das Einschränken der Zertifizierungsstellen-Zertifikate, sodass diesen nur für die tatsächlich ausgestellten erweiterten Schlüsselverwendungen (Extended Key Usage) vertraut wird.

Im Fall einer Kompromittierung der Zertifizierungsstelle ist der Schaden dann auf diese Extended Key Usages beschränkt. Das Smart Card Logon Extended Key Usage wäre dann nur in dem Zertifizierungsstellen-Zertifikat derjenigen Zertifizierungsstelle, die auch tatsächlich solche Zertifikate ausstellt, vorhanden.

„Die erweiterte Schlüsselverwendung (Extended Key Usage, EKU) für importierte Stammzertifizierungstellen-Zertifikate einschränken“ weiterlesen