Partager via


IX509PublicKey ::ComputeKeyIdentifier, méthode (certenroll.h)

La méthode ComputeKeyIdentifier crée un identificateur à partir d’un hachage SHA-1 160 bits de la clé publique.

Syntaxe

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

Paramètres

[in] Algorithm

Valeur de l’énumération KeyIdentifierHashAlgorithm qui spécifie l’algorithme de hachage à utiliser pour créer l’identificateur de clé.

Si cette valeur est SKIHashDefault ou SKIHashSha1, l’identificateur est créé en hachant uniquement le tableau d’octets qui contient la clé et en excluant les champs de balise Distinguished Encoding Rules (DER), de longueur et de bits inutilisés.

Si cette valeur est SKIHashCapiSha1, l’identificateur est créé en hachant le tableau d’octets encodé en DER qui contient l’étiquette, la longueur, le nombre de bits inutilisés et la clé publique.

[in] Encoding

Valeur d’énumération EncodingType qui spécifie le type d’encodage Unicode à appliquer au hachage contenu dans le paramètre pValue . La valeur par défaut est XCN_CRYPT_STRING_BASE64.

[out] pValue

Pointeur vers une variable BSTR qui contient l’identificateur de clé.

Valeur retournée

Si la fonction réussit, la fonction retourne S_OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code/valeur de retour Description
CERTSRV_E_PROPERTY_EMPTY
L’identificateur d’objet de l’algorithme ou les paramètres de clé publique sont introuvables.

Remarques

Vous devez appeler la méthode InitializeFromEncodedPublicKeyInfo ou la méthode Initialize pour initialiser l’objet de clé publique avant d’appeler ComputeKeyIdentifier.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certenroll.h
DLL CertEnroll.dll

Voir aussi

IX509PublicKey