Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im beispiel "enrollNestedCMC" wird eine vorhandene CMC-Zertifikatanforderung aus einer Datei gelesen, in eine andere CMC-Anforderung eingeschlossen, diese äußere Anforderung signiert, an eine Zertifizierungsstelle übermittelt und die Zertifikatantwort von der Zertifizierungsstelle in einer Datei gespeichert.
Ort
Wenn Sie das Microsoft Windows Software Development Kit (SDK) installieren, wird das Beispiel standardmäßig im Ordner "%ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\X509 Certificate Enrollment\VC\enrollmentNestedCMC" installiert.
Diskussion
Das enrollNestedCMC-Beispiel:
- Verarbeitet die folgenden Befehlszeilenargumente:
- Der Name der Eingabedatei.
- Der Name der Ausgabedatei.
- Eine optionale Anforderungsvorlage.
- Liest eine vorhandene CMC-Anforderung aus einer Datei als base63-codiertes Bytearray, konvertiert das Bytearray in ein BSTR-, erstellt eine IX509CertificateRequestCmc--Objekt und verwendet das BSTR- zum Initialisieren des Anforderungsobjekts. Das initialisierte Objekt wird zur inneren Anforderung.
- Verwendet das interne Anforderungsobjekt, das im vorherigen Schritt erstellt und initialisiert wurde, um eine andere CMC-Anforderung zu initialisieren.
- Ruft ein vorhandenes Signaturzertifikat ab oder erstellt, falls kein Zertifikat gefunden werden kann, eine Zertifikatanforderung aus der in der Befehlszeile angegebenen Vorlage und versucht, es zu registrieren. Die Funktionen findCertByTemplate und enrollCertByTemplate werden in enrollCommon.cpp definiert.
- Ruft die ISignerCertificates Auflistung aus der äußeren CMC-Anforderung ab, erstellt ein neues ISignerCertificate -Objekt, initialisiert es mithilfe des abgerufenen Signaturzertifikats und fügt es der Auflistung hinzu.
- Codiert die CMC-Anforderung mithilfe von Distinguished Encoding Rules (DER) und ruft die Anforderung als BSTR-ab.
- Erstellt ein ICertConfig- -Objekt und verwendet es, um eine Zeichenfolge abzurufen, die die Zertifizierungsstelle-Konfiguration enthält.
- Erstellt ein CryptoAPI-ICertRequest2 -Objekt und verwendet es sowie die Zeichenfolgen, die die Zertifizierungsstelle-Konfiguration und die Zertifikatanforderung enthalten, um die Anforderung an die Zertifizierungsstelle zu übermitteln.
- Überprüft den Status des Registrierungsvorgangs und speichert die Zertifikatantwort von der Zertifizierungsstelle in einer Datei. Die EncodeToFileW-Funktion wird in enrollCommon.cpp definiert.
Verwandte Themen