Freigeben über


IX509CertificateRequest::Encode-Methode (certenroll.h)

Die Encode-Methode signiert und codiert eine Zertifikatanforderung und erstellt ein Schlüsselpaar, falls keins vorhanden ist. Die Anforderung wird mithilfe von Distinguished Encoding Rules (DER) codiert, wie durch den ASN.1-Standard (Abstract Syntax Notation One) definiert. Der Codierungsprozess erstellt ein Bytearray. Sie können das Bytearray abrufen, indem Sie die RawData-Eigenschaft aufrufen.

Syntax

HRESULT Encode();

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.

Wenn die Funktion fehlschlägt, wird ein HRESULT-Wert zurückgegeben, der den Fehler angibt. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Rückgabecode/-wert BESCHREIBUNG
CERTSRV_E_ARCHIVED_KEY_REQUIRED
Die ArchivePrivateKey-Eigenschaft wurde für eine CMC-Anforderung festgelegt, aber ein Schlüsselaustauschzertifikat konnte nicht gefunden werden.
OLE_E_BLANK
Das -Objekt wird nicht initialisiert.

Hinweise

Für eine PKCS #10-Anforderung gilt die folgende Methode:

  • Updates den privaten Schlüssel oder erstellt ggf. den Schlüssel.
  • Füllt den öffentlichen Schlüssel aus dem privaten Schlüssel auf.
  • Updates die Erweiterungen, fügen Sie alle Standarderweiterungen hinzu und berücksichtigen Sie dabei die unterdrückte OID-Sammlung und die kritische OID-Erweiterungssammlung.
  • Updates die Attribute, fügen Sie Standardattribute hinzu und berücksichtigen Sie die unterdrückte OID-Auflistung.
  • Stellt die nicht signierte aktualisierte Anforderung zusammen und codiert sie.
  • Erstellt und codiert eine Signatur.
  • Codiert die Signatur und die nicht signierte Anforderung.

Für eine CMC-Anforderung gilt die folgende Methode:

  • Codiert alle inneren Anforderungsobjekte.
  • Updates die Erweiterungen für das äußere Anforderungsobjekt, fügen Sie alle Standarderweiterungen hinzu und berücksichtigen Sie dabei die unterdrückte OID-Auflistung und die kritische Erweiterungs-OID-Auflistung.
  • Updates die Attribute für das äußere Anforderungsobjekt, indem Standardattribute hinzugefügt und die unterdrückte OID-Auflistung berücksichtigt wird.
  • Updates die Name-Wert-Paarauflistung.
  • Codiert den CMC-Inhalt, der aus der codierten inneren Anforderung und der aktualisierten äußeren Anforderung besteht.
  • Erstellt und codiert eine Signatur für jedes Signaturzertifikat.
  • Erstellt und codiert eine primäre Signatur.
  • Stellt den codierten CMC-Inhalt (einschließlich der inneren Anforderung und der aktualisierten äußeren Anforderung) und die codierten Signaturen zusammen.
  • Codiert den zusammengesetzten Inhalt in eine PKCS #7-Nachricht.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certenroll.h
DLL CertEnroll.dll

Weitere Informationen

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation