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 keine Active Directory-Instanz und verwendet keine Vorlagen.
Standort
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\enrollCustomPKCS10 installiert.
Diskussion (Discussion)
Beispiel für "enrollCustomPKCS10":
- 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 beispielsweise die folgenden Argumente angeben, um zu registrieren user1@example.com:
- Antragstellername: "CN=user1,DC=example,DC=com"
- RFC822-Name: user1@example.com
- Clientauthentifizierung EKU OID: 1.3.6.1.5.5.7.3.2
- Erstellt ein IX509CertificateRequestPkcs10-Objekt und initialisiert es für den Endbenutzer, indem der ContextUser-Wert der X509CertificateEnrollmentContext-Enumeration angegeben wird.
- Erstellt ein IX500DistinguishedName-Objekt , verwendet das -Objekt, um den Antragstellernamen in ein Bytearray zu codieren, und fügt das Array dem PKCS #10-Anforderungsobjekt hinzu.
- Erstellt ein IObjectId-Objekt , initialisiert es mithilfe des in der Befehlszeile angegebenen EKU-Objektbezeichners (OID), erstellt eine IObjectIds-Auflistung , fügt der Auflistung das neue IObjectId-Objekt (EKU) hinzu, verwendet die Auflistung zum Initialisieren eines IX509ExtensionEnhancedKeyUsage-Objekts und fügt dieses Objekt der Anforderung hinzu.
- Erstellt ein IAlternativeName-Objekt , initialisiert es mithilfe des RFC822-Namens, der in der Befehlszeile angegeben ist, Erstellt eine IAlternativeNames-Auflistung , fügt der Auflistung das neue IAlternativeName -Objekt (RFC822-Name ) hinzu, erstellt ein IX509ExtensionAlternativeNames-Objekt und fügt dieses Objekt der Anforderung hinzu.
- Erstellt ein IX509Enrollment-Objekt , initialisiert es mithilfe des IX509CertificateRequestPkcs10-Objekts und ruft eine Zeichenfolge ab, die eine base64-codierte Anforderung enthält.
- Erstellt ein ICertConfig-Objekt und verwendet es, um eine Zeichenfolge abzurufen, die die Zertifizierungsstellenkonfiguration enthält.
- Erstellt ein CryptoAPI ICertRequest2-Objekt und verwendet es sowie die Zeichenfolgen, die die Zertifizierungsstellenkonfiguration und die Zertifikatanforderung enthalten, um die Anforderung an die Zertifizierungsstelle zu übermitteln.
- Überprüft die Übermittlung status und installiert das Zertifikat im Zertifikatspeicher, wenn die Registrierung erfolgreich ist.
Zugehörige Themen