Freigeben über


IX509PublicKey::ComputeKeyIdentifier-Methode (certenroll.h)

Die ComputeKeyIdentifier-Methode erstellt einen Bezeichner aus einem 160-Bit-SHA-1-Hash des öffentlichen Schlüssels.

Syntax

HRESULT ComputeKeyIdentifier(
  [in]  KeyIdentifierHashAlgorithm Algorithm,
  [in]  EncodingType               Encoding,
  [out] BSTR                       *pValue
);

Die Parameter

[in] Algorithm

Ein Wert der KeyIdentifierHashAlgorithm-Aufzählung , die angibt, welcher Hashalgorithmus zum Erstellen des Schlüsselbezeichners verwendet werden soll.

Wenn dieser Wert SKIHashDefault oder SKIHashSha1 ist, wird der Bezeichner durch Hashing nur das Bytearray erstellt, das den Schlüssel enthält und das Tag "Distinguished Encoding Rules (DER)", "length" und "nicht verwendete Bits" ausschließt.

Wenn dieser Wert SKIHashCapiSha1 ist, wird der Bezeichner durch Hashing des DER-codierten Bytearrays erstellt, das das Tag, die Länge, die Anzahl nicht verwendeter Bits und den öffentlichen Schlüssel enthält.

[in] Encoding

Ein EncodingType-Enumerationswert , der den Typ der Unicode-Codierung angibt, der auf den im pValue-Parameter enthaltenen Hash angewendet werden soll. Der Standardwert ist XCN_CRYPT_STRING_BASE64.

[out] pValue

Zeiger auf eine BSTR-Variable , die den Schlüsselbezeichner enthält.

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_PROPERTY_EMPTY
Der Algorithmusobjektbezeichner oder die Parameter für öffentliche Schlüssel konnten nicht gefunden werden.

Bemerkungen

Sie müssen die InitializeFromEncodedPublicKeyInfo-Methode oder die Initialize-Methode aufrufen, um das öffentliche Schlüsselobjekt zu initialisieren, bevor Sie ComputeKeyIdentifier aufrufen.

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

IX509PublicKey