Freigeben über


IX509CertificateRequest::Encode-Methode (certenroll.h)

Die Encode-Methode signiert und codiert eine Zertifikatanforderung und erstellt ein Schlüsselpaar, wenn kein Schlüssel vorhanden ist. Die Anforderung wird mithilfe von Distinguished Encoding Rules (DER) codiert, wie durch den Standard abstrakte Syntax Notation One (ASN.1) 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ögliche Werte sind die Werte in der folgenden Tabelle, sind jedoch nicht beschränkt. Eine Liste allgemeiner Fehlercodes finden Sie unter "Allgemeine HRESULT-Werte".

Zurückgeben von Code/Wert Description
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.

Bemerkungen

Für eine PKCS #10-Anforderung:

  • Aktualisiert den privaten Schlüssel, oder erstellt den Schlüssel bei Bedarf.
  • Füllt den öffentlichen Schlüssel aus dem privaten Schlüssel auf.
  • Aktualisiert die Erweiterungen, fügt alle Standarderweiterungen hinzu und berücksichtigt dabei die unterdrückte OID-Sammlung und die kritische Erweiterungs-OID-Auflistung.
  • Aktualisiert die Attribute, fügt Standardattribute hinzu und berücksichtigt die unterdrückte OID-Auflistung.
  • Fasst 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:

  • Codiert alle inneren Anforderungsobjekte.
  • Aktualisiert die Erweiterungen für das äußere Anforderungsobjekt, fügt alle Standarderweiterungen hinzu und berücksichtigt dabei die unterdrückte OID-Auflistung und kritische Erweiterungs-OID-Auflistung.
  • Aktualisiert die Attribute für das äußere Anforderungsobjekt, das Hinzufügen von Standardattributen und die Berücksichtigung der unterdrückten OID-Auflistung.
  • Aktualisiert 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.
  • Zusammensetzen der codierten CMC-Inhalte (einschließlich der inneren Anforderung und der aktualisierten äußeren Anforderung) und der codierten Signaturen.
  • Codiert den zusammengesetzten Inhalt in eine PKCS #7-Nachricht.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows Vista [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 [Nur Desktop-Apps]
Zielplattform Fenster
Header certenroll.h
DLL CertEnroll.dll

Siehe auch

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation