Share via


IX509AttributeArchiveKey ::InitializeEncode, méthode (certenroll.h)

La méthode InitializeEncode initialise l’attribut à partir d’un objet IX509PrivateKey , du certificat de chiffrement de l’autorité de certification et de l’identificateur d’objet de l’algorithme de chiffrement symétrique (OID).

Syntaxe

HRESULT InitializeEncode(
  [in]           IX509PrivateKey *pKey,
  [in]           EncodingType    Encoding,
  [in]           BSTR            strCAXCert,
  [in, optional] IObjectId       *pAlgorithm,
  [in]           LONG            EncryptionStrength
);

Paramètres

[in] pKey

Pointeur vers une interface IX509PrivateKey qui représente la clé.

[in] Encoding

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

[in] strCAXCert

Variable BSTR qui contient le certificat de chiffrement de l’autorité de certification qui contient la clé publique utilisée pour chiffrer la clé privée.

À 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.
  • Seuls les magasins personnels et de requêtes sont recherchés pour la clé privée.

[in, optional] pAlgorithm

Pointeur vers une interface IObjectId qui représente l’OID de l’algorithme de chiffrement symétrique utilisé pour chiffrer la clé privée. Ce paramètre est facultatif. Si vous ne fournissez pas d’OID, XCN_OID_RSA_DES_EDE3_CBC (Triple DES) est utilisé.

[in] EncryptionStrength

Variable LONG qui contient la puissance de chiffrement de l’algorithme identifié par le paramètre pAlgorithm . Ce paramètre n’est actuellement pas utilisé, car le Kit de développement logiciel (SDK) d’inscription de certificat ne prend pas en charge les algorithmes pour lesquels l’OID n’implique pas déjà la force (longueur de la clé). Par exemple, AES a plusieurs points forts, mais chacun d’eux est déjà indiqué par l’OID.

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. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Remarques

L’identificateur d’objet pour cet attribut est XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13). Pour plus d’informations, consultez CERTENROLL_OBJECTID.

Vous devez appeler InitializeEncode ou InitializeDecode avant de pouvoir utiliser un objet IX509AttributeArchiveKey . Les deux méthodes se complètent. La méthode InitializeEncode vous permet de construire une structure ASN.1 ( Abstract Syntax Notation One ) codée à partir de données brutes, et la méthode InitializeDecode vous permet d’initialiser des données brutes à partir d’une structure ASN.1 encodée. Vous pouvez appeler les propriétés suivantes pour récupérer les données brutes :

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

IX509AttributeArchiveKey