ICertPropertyRenewal ::InitializeFromCertificateHash, méthode (certenroll.h)

La méthode InitializeFromCertificateHash initialise l’objet à partir du nouveau certificat.

Syntaxe

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

Paramètres

[in] MachineContext

Valeur VARIANT_BOOL qui indique si le magasin de certificats est destiné à l’ordinateur local ou à l’utilisateur actuel. Spécifiez VARIANT_TRUE pour l’ordinateur et VARIANT_FALSE pour l’utilisateur.

[in] Encoding

Valeur d’énumération EncodingType qui spécifie le type d’encodage Unicode appliqué à la chaîne d’entrée qui contient le certificat encodé en DER.

[in] strCertificate

Variable BSTR qui contient le certificat encodé en DER.

À compter de Windows 7 et Windows Server 2008 R2, vous pouvez spécifier un numéro d’impression numérique ou de série de certificat plutôt qu’un certificat encodé. Cela amène la fonction à rechercher le certificat correspondant dans les magasins locaux appropriés. Gardez à l’esprit les points suivants :

  • Le BSTR doit être un nombre pair de chiffres hexadécimaux.
  • L’espace entre les paires hexadécimales est ignoré.
  • Le paramètre Encoding doit être défini sur XCN_CRYPT_STRING_HEXRAW.
  • Le paramètre MachineContext détermine si l’utilisateur ou les magasins d’ordinateurs ou les deux sont recherchés.
  • Si une clé privée est nécessaire, seuls les magasins personnels et de requêtes sont recherchés.
  • Si aucune clé privée n’est nécessaire, les magasins d’autorité de certification racine et intermédiaire sont également recherchés.

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
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
L’objet est déjà initialisé.

Remarques

Cette méthode crée un hachage SHA-1 à l’aide du certificat spécifié. Le certificat doit être encodé à l’aide de Distinguished Encoding Rules (DER) tel que défini par la norme ASN.1 (Abstract Syntax Notation One). Vous devez également spécifier le type d’encodage Unicode appliqué à la chaîne qui contient le certificat encodé en DER.

En règle générale, l’objet ICertPropertyRenewal est initialisé pendant le processus d’inscription. Vous pouvez récupérer le certificat utilisé lors de l’inscription en appelant la propriété Certificate sur l’interface IX509Enrollment .

Appelez la méthode SetValueOnCertificate pour associer la propriété à un certificat. Appelez la propriété Renewal pour récupérer le hachage.

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

ICertPropertyRenewal