Partager via


IX509PrivateKey ::Import, méthode (certenroll.h)

La méthode Import importe une clé privée existante dans un conteneur de clés au sein d’un fournisseur de chiffrement.

Syntaxe

HRESULT Import(
  [in] BSTR         strExportType,
  [in] BSTR         strEncodedKey,
  [in] EncodingType Encoding
);

Paramètres

[in] strExportType

Si la clé a été créée à l’aide d’un fournisseur de stockage de clés (KSP) CNG, la méthode Import transmet cet argument au paramètre pszProperty de la fonction NCryptSetProperty . Autrement dit, la valeur que vous spécifiez sera utilisée comme nom d’une propriété à définir sur la clé importée.

Si la clé a été créée à l’aide d’un fournisseur de services de chiffrement CryptoAPI, cet argument spécifie la façon dont la clé privée doit être importée. Il peut s’agir de la valeur suivante.

Valeur Signification
BCRYPT_PRIVATE_KEY_BLOB
Importe la clé privée entière.

[in] strEncodedKey

Variable BSTR qui contient la clé à importer.

[in] Encoding

Valeur d’énumération EncodingType qui spécifie le type d’encodage Unicode à appliquer à la chaîne contenue dans le paramètre strEncodedKey . La valeur par défaut est XCN_CRYPT_STRING_BASE64.

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 de retour Description
HRESULT_FROM_WIN32(ERROR_FILE_READ_ONLY)
Le conteneur de clé est déjà ouvert. Vous pouvez recevoir cette erreur si vous avez déjà appelé Ouvrir ou Créer.
HRESULT_FROM_WIN32(ERROR_CALL_NOT_IMPLEMENTED)
La clé a été créée par un csp CryptoAPI et vous avez spécifié une valeur autre que BCRYPT_PRIVATE_KEY_BLOB pour le paramètre strExportType .

Remarques

La fonction Import suppose automatiquement que vous tentez d’importer une clé KSP CNG si vous spécifiez une valeur autre que BCRYPT_PRIVATE_KEY_BLOB pour le paramètre strExportType et que vous ne définissez aucune des propriétés suivantes :

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

IX509PrivateKey