Freigeben über


ICertPropertyRenewal::InitializeFromCertificateHash-Methode (certenroll.h)

Die InitializeFromCertificateHash-Methode initialisiert das -Objekt aus dem neuen Zertifikat.

Syntax

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

Parameter

[in] MachineContext

Ein VARIANT_BOOL Wert, der angibt, ob der Zertifikatspeicher für den lokalen Computer oder den aktuellen Benutzer bestimmt ist. 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 die Eingabezeichenfolge angewendet wird, die das DER-codierte Zertifikat enthält.

[in] strCertificate

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

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

  • Der BSTR muss eine gerade Anzahl von Hexadezimalstellen sein.
  • Leerzeichen zwischen Hexadezimalpaaren werden ignoriert.
  • Der Encoding-Parameter muss auf XCN_CRYPT_STRING_HEXRAW festgelegt werden.
  • Der MachineContext-Parameter bestimmt, ob der Benutzer oder computer gespeichert oder beides durchsucht wird.
  • Wenn ein privater Schlüssel benötigt wird, werden nur die persönlichen Speicher und die Anforderungsspeicher durchsucht.
  • Wenn kein privater Schlüssel benötigt wird, werden auch die Stamm- und Zwischenspeicher der Zertifizierungsstellen durchsucht.

Rückgabewert

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

Wenn die Funktion fehlschlägt, gibt sie einen HRESULT-Wert zurück, 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
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Das Objekt ist bereits initialisiert.

Hinweise

Diese Methode erstellt mithilfe des angegebenen Zertifikats einen SHA-1-Hash. Das Zertifikat muss mithilfe von Distinguished Encoding Rules (DER) codiert werden, wie durch den ASN.1-Standard (Abstract Syntax Notation One) definiert. Sie müssen auch den Typ der Unicode-Codierung angeben, der auf die Zeichenfolge angewendet wird, die das DER-codierte Zertifikat enthält.

In der Regel wird das ICertPropertyRenewal-Objekt während des Registrierungsprozesses initialisiert. Sie können das während der Registrierung verwendete Zertifikat abrufen, indem Sie die Certificate-Eigenschaft auf der IX509Enrollment-Schnittstelle aufrufen.

Rufen Sie die SetValueOnCertificate-Methode auf , um die Eigenschaft einem Zertifikat zuzuordnen. Rufen Sie die Renewal-Eigenschaft auf, um den Hash abzurufen.

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

ICertPropertyRenewal