Freigeben über


ICertProperties::InitializeFromCertificate-Methode (certenroll.h)

Die InitializeFromCertificate-Methode initialisiert die Auflistung aus den Eigenschaften, die in einem Zertifikat enthalten sind.

Syntax

HRESULT InitializeFromCertificate(
  [in] VARIANT_BOOL MachineContext,
  [in] EncodingType Encoding,
  [in] BSTR         strCertificate
);

Die Parameter

[in] MachineContext

Eine VARIANT_BOOL Variable, die den Zertifikatspeicherkontext identifiziert. Geben Sie VARIANT_TRUE für den Computer und VARIANT_FALSE für den Benutzer an.

[in] Encoding

Ein EncodingType-Enumerationswert , der den Typ der Unicode-Codierung angibt, die auf das Zertifikat angewendet wird, das im parameter strCertificate enthalten ist.

[in] strCertificate

Eine BSTR-Variable , die das DER-codierte Zertifikat enthält.

Ab Windows 7 und Windows Server 2008 R2 können Sie einen Zertifikatfingerabdruck oder eine Seriennummer anstelle eines codierten Zertifikats angeben. Dies bewirkt, dass die Funktion die entsprechenden lokalen Speicher nach dem übereinstimmenden Zertifikat durchsucht. Berücksichtigen Sie dabei Folgendes:

  • Der BSTR muss eine gerade Anzahl hexadezimaler Ziffern sein.
  • Leerzeichen zwischen hexadezimalen Paaren werden ignoriert.
  • Der Codierungsparameter muss auf XCN_CRYPT_STRING_HEXRAW festgelegt werden.
  • Der Parameter MachineContext bestimmt, ob der Benutzer oder computerspeichert oder beides durchsucht werden.
  • Wenn ein privater Schlüssel benötigt wird, werden nur die persönlichen Speicher und Anforderungsspeicher durchsucht.
  • Wenn kein privater Schlüssel benötigt wird, werden auch die Stamm- und Zwischenspeicher der Zertifizierungsstelle durchsucht.

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
CRYPT_E_NOT_FOUND
Das Zertifikat konnte nicht gefunden werden.
CRYPT_E_UNEXPECTED_MSG_TYPE
Das Zertifikat wurde gefunden, der private Schlüssel konnte jedoch nicht geladen werden.

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

ICertProperties-

ICertProperty-