Freigeben über


enrollPKCS7

Im Beispiel "enrollPKCS7" wird eine PKCS #7-Anforderung aus einem vorhandenen Zertifikat erstellt, indem die öffentlichen und privaten Schlüssel und die Zertifikatvorlage geerbt werden. Das vorhandene Zertifikat wird zum Signieren der Anforderung verwendet. In diesem Beispiel wird der Benutzer in einer Zertifikathierarchie registriert und die Zertifikatantwort installiert. Im Beispiel wird ein vorhandenes Zertifikat zum Registrieren und Installieren eines neuen Zertifikats verwendet. Weitere Informationen zum Erneuern eines vorhandenen Zertifikats finden Sie unter enrollRenewalPKCS7.

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\Security\X509 Certificate Enrollment\VC\enrollmentPKCS7" installiert.

Diskussion

Das beispiel "enrollPKCS7":

  1. Verarbeitet die Befehlszeilenargumente. Die Befehlszeile sollte den Namen der Zertifikatvorlage enthalten, die zum Suchen eines vorhandenen Zertifikats verwendet wird.
  2. Ruft ein vorhandenes Zertifikat mithilfe des Namens der in der Befehlszeile angegebenen Vorlage ab, oder versucht, ein neues Zertifikat mithilfe der Vorlage zu registrieren, wenn ein Zertifikat nicht gefunden werden kann. Die Funktionen findCertByTemplate und enrollCertByTemplate werden in enrollCommon.cpp definiert.
  3. Überprüft die Zertifikatkette und konvertiert das Zertifikat in eine BSTR-.
  4. Erstellt ein IX509CertificateRequestPkcs7-Objekt und initialisiert es mithilfe des vorhandenen Zertifikats. Das neue PKCS #7-Anforderungsobjekt erbt die privaten und öffentlichen Schlüssel und die Vorlage vom vorhandenen Zertifikat.
  5. Erstellt ein ISignerCertificate-Objekt, initialisiert es mithilfe des vorhandenen Zertifikats und fügt es dem PKCS #7-Anforderungsobjekt hinzu.
  6. Erstellt ein IX509Enrollment--Objekt, initialisiert es mithilfe des PKCS #7-Anforderungsobjekts, versucht, es bei der Zertifizierungsstelle zu registrieren und den Status des Registrierungsprozesses zu überwachen. Die checkEnrollStatus-Funktion wird in enrollCommon.cpp definiert.

CMC-Anforderung

Verwenden der enthaltenen Beispiele