Partager via


ICertProperty ::InitializeFromCertificate, méthode (certenroll.h)

La méthode InitializeFromCertificate initialise l’objet à l’aide d’une valeur de propriété associée à un certificat existant.

Syntaxe

HRESULT InitializeFromCertificate(
  [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é au certificat contenu dans le paramètre strCertificate .

[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 de certificat ou un numéro de série plutôt qu’un certificat encodé. Cela entraîne la recherche du 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.
  • Les espaces blancs entre les paires hexadécimales sont ignorés.
  • Le paramètre Encodage doit être défini sur XCN_CRYPT_STRING_HEXRAW.
  • Le paramètre MachineContext détermine si l’utilisateur ou l’ordinateur stocke ou si les deux sont recherchés.
  • Si une clé privée est nécessaire, seuls les magasins personnels et les magasins de requêtes sont recherchés.
  • Si une clé privée n’est pas 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
CRYPT_E_NOT_FOUND
Le certificat est introuvable.
CRYPT_E_UNEXPECTED_MSG_TYPE
Le certificat a été trouvé, mais la clé privée n’a pas pu être chargée.

Remarques

Spécifiez la propriété à initialiser en appelant la propriété PropertyId . Vous pouvez appeler la propriété RawData pour récupérer une chaîne encodée qui contient la propriété .

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

ICertProperties

ICertProperty