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
);

Parameter

[in] Algorithm

Ein Wert der KeyIdentifierHashAlgorithm-Enumeration , der angibt, welchen Hashalgorithmus zum Erstellen des Schlüsselbezeichners verwendet werden soll.

Wenn dieser Wert SKIHashDefault oder SKIHashSha1 ist, wird der Bezeichner erstellt, indem nur das Bytearray gehasht wird, das den Schlüssel enthält, und die Felder Distinguished Encoding Rules (DER) Tag, Länge und nicht verwendete Bits ausschließen.

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

Hinweise

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

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

IX509PublicKey