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 |