Freigeben über


enrollCustomPKCS10

Im beispiel "enrollCustomPKCS10" wird eine benutzerdefinierte PKCS #10-Anforderung erstellt, an eine eigenständige Zertifizierungsstelle (Ca) übermittelt und das ausgestellte Zertifikat im Zertifikatspeicher installiert. Eine eigenständige Zertifizierungsstelle erfordert kein Active Directory und verwendet keine Vorlagen.

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\enrollmentCustomPKCS10" installiert.

Diskussion

Das beispiel "enrollCustomPKCS10":

  1. Verarbeitet die Befehlszeilenargumente. Die Befehlszeile sollte den Namen des X.500-Zertifikatantragstellers, den E-Mail-Namen (RFC822) und einen EKU-Objektbezeichner (Enhanced Key Usage, EKU) enthalten. Sie können z. B. die folgenden Argumente angeben, um user1@example.comzu registrieren:
    • Antragstellername: "CN=user1,DC=example,DC=com"
    • RFC822-Name: user1@example.com
    • Clientauthentifizierung EKU OID: 1.3.6.1.5.5.7.3.2
  2. Erstellt ein IX509CertificateRequestPkcs10-Objekt und initialisiert es für den Endbenutzer, indem der ContextUser- Wert der X509CertificateEnrollmentContext Enumeration angegeben wird.
  3. Erstellt ein IX500DistinguishedName -Objekt, verwendet das Objekt zum Codieren des Antragstellernamens zu einem Bytearray und fügt das Array dem PKCS #10-Anforderungsobjekt hinzu.
  4. Erstellt ein IObjectId- -Objekt, Initialisiert sie mithilfe des in der Befehlszeile angegebenen EKU-Objektbezeichners (OID), erstellt eine IObjectIds- -Auflistung, fügt das neue IObjectId (EKU)-Objekt der Auflistung hinzu, verwendet die Auflistung zum Initialisieren eines IX509ExtensionEnhancedKeyUsage -Objekts und fügt dieses Objekt der Anforderung hinzu.
  5. Erstellt ein IAlternativeName--Objekt, Initialisiert ihn mithilfe des RFC822-Namens, der in der Befehlszeile angegeben ist, erstellt eine IAlternativeNames Auflistung, fügt das neue IAlternativeName (RFC822 Name ) -Objekt der Auflistung hinzu, erstellt ein IX509ExtensionAlternativeNames -Objekt und fügt dieses Objekt der Anforderung hinzu.
  6. Erstellt ein IX509Enrollment- -Objekt, initialisiert es mithilfe des IX509CertificateRequestPkcs10 -Objekts und ruft eine Zeichenfolge ab, die eine base64-codierte Anforderung enthält.
  7. Erstellt ein ICertConfig -Objekt und verwendet es, um eine Zeichenfolge abzurufen, die die Zertifizierungsstelle-Konfiguration enthält.
  8. 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.
  9. Überprüft den Übermittlungsstatus und installiert bei erfolgreicher Registrierung das Zertifikat im Zertifikatspeicher.

PKCS #10 anfordern

Verwenden der enthaltenen Beispiele