Partager via


Fonction CryptImportPKCS8 (wincrypt.h)

[La fonction CryptImportPKCS8 n’est plus disponible depuis Windows Server 2008 et Windows Vista. Utilisez plutôt la fonction PFXImportCertStore .]

Important Cette API est déconseillée. Les logiciels nouveaux et existants doivent commencer à utiliser les API de nouvelle génération de chiffrement. Microsoft peut supprimer cette API dans les versions ultérieures.
 
La fonction CryptImportPKCS8 importe la clé privée au format PKCS #8 vers un fournisseur de services de chiffrement (CSP). CryptImportPKCS8 retourne un handle au fournisseur et à l’import KeySpec utilisé.

Syntaxe

BOOL CryptImportPKCS8(
  [in]            CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams,
  [in]            DWORD                     dwFlags,
  [out, optional] HCRYPTPROV                *phCryptProv,
  [in, optional]  void                      *pvAuxInfo
);

Paramètres

[in] sPrivateKeyAndParams

Structure CRYPT_PKCS8_IMPORT_PARAMS qui contient l’objet BLOB de clé privée et les paramètres correspondants.

[in] dwFlags

Valeur DWORD . Ce paramètre peut être l’une des valeurs suivantes, une combinaison d’entre elles ou une valeur null.

Valeur Signification
CRYPT_EXPORTABLE
La clé importée doit éventuellement être réexportée. Si cet indicateur n’est pas utilisé, les appels à CryptExportKey avec le handle de clé échouent.
CRYPT_USER_PROTECTED
Si cet indicateur est défini, le fournisseur de solutions Cloud avertit l’utilisateur par le biais d’une boîte de dialogue ou d’une autre méthode lorsque certaines actions sont tentées à l’aide de cette clé. Le comportement précis est spécifié par le csp ou le type csp utilisé. Si le contexte du fournisseur a été acquis avec CRYPT_SILENT défini, l’utilisation de cet indicateur entraîne un échec et la dernière erreur est définie sur NTE_SILENT_CONTEXT.

[out, optional] phCryptProv

Pointeur vers le HCRYPTPROV pour recevoir le handle du fournisseur dans lequel la clé est importée en appelant la fonction CryptImportPKCS8 .

Une fois que vous avez terminé d’utiliser le handle, libérez-le en appelant CryptReleaseContext.

Ce paramètre peut être NULL, auquel cas le handle du fournisseur n’est pas retourné.

[in, optional] pvAuxInfo

Ce paramètre doit être NULL.

Valeur retournée

Si la fonction réussit, la fonction retourne une valeur différente de zéro (TRUE).

Si la fonction échoue, elle retourne zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Le code d’erreur suivant est spécifique à cette fonction.

Code de retour Description
ERROR_UNSUPPORTED_TYPE
L’identificateur d’objet d’algorithme (OID) de la clé privée n’est pas pris en charge.
 

Si la fonction échoue, GetLastError peut renvoyer une erreur d’encodage/décodage ASN.1 ( Abstract Syntax Notation One ). Pour plus d’informations sur ces erreurs, consultez Valeurs de retour d’encodage/décodage ASN.1.

Remarques

CryptImportPKCS8 appelle la fonction PCRYPT_RESOLVE_HCRYPTPROV_FUNC à l’aide de la structure CRYPT_PKCS8_IMPORT_PARAMS contenue dans le paramètre sPrivateKeyAndParams pour récupérer un handle du fournisseur vers lequel importer la clé. Si PCRYPT_RESOLVE_HCRYPTPROV_FUNC a la valeur NULL, le fournisseur par défaut est utilisé.

Cette fonction est uniquement prise en charge pour les clés asymétriques.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CRYPT_PKCS8_IMPORT_PARAMS

CryptExportPKCS8Ex

CryptReleaseContext

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC

PCRYPT_RESOLVE_HCRYPTPROV_FUNC