structure CRYPT_KEY_PROV_INFO (wincrypt.h)
La structure CRYPT_KEY_PROV_INFO contient des informations sur un conteneur de clé au sein d’un fournisseur de services de chiffrement (CSP).
Syntaxe
typedef struct _CRYPT_KEY_PROV_INFO {
LPWSTR pwszContainerName;
LPWSTR pwszProvName;
DWORD dwProvType;
DWORD dwFlags;
DWORD cProvParam;
PCRYPT_KEY_PROV_PARAM rgProvParam;
DWORD dwKeySpec;
} CRYPT_KEY_PROV_INFO, *PCRYPT_KEY_PROV_INFO;
Membres
pwszContainerName
Pointeur vers une chaîne Unicode terminée par null qui contient le nom du conteneur de clé.
Lorsque le membre dwProvType est égal à zéro, cette chaîne contient le nom d’une clé au sein d’un fournisseur de stockage de clé CNG. Cette chaîne est passée en tant que paramètre pwszKeyName à la fonction NCryptOpenKey .
pwszProvName
Pointeur vers une chaîne Unicode terminée par null qui contient le nom du fournisseur de solutions cloud.
Lorsque le membre dwProvType est égal à zéro, cette chaîne contient le nom d’un fournisseur de stockage de clé CNG. Cette chaîne est passée en tant que paramètre pwszProviderName à la fonction NCryptOpenStorageProvider .
dwProvType
Spécifie le type CSP. Il peut s’agir de zéro ou d’un des types de fournisseurs de chiffrement.
Si ce membre est égal à zéro, le conteneur de clés est l’un des fournisseurs de stockage de clés CNG.
dwFlags
Ensemble d’indicateurs qui indiquent des informations supplémentaires sur le fournisseur. Il peut s’agir de zéro ou de l’une des valeurs suivantes.
Les fonctions de chiffrement CryptDecryptMessage, CryptSignMessage, CryptDecryptAndVerifyMessageSignature et CryptSignAndEncryptMessage effectuent en interne des opérations CryptAcquireContext à l’aide des CRYPT_KEY_PROV_INFO d’un certificat. Lorsque l’indicateur CERT_SET_KEY_CONTEXT_PROP_ID ou CERT_SET_KEY_PROV_HANDLE_PROP_ID est défini, ces fonctions de chiffrement peuvent appeler CertSetCertificateContextProperty avec CERT_KEY_CONTEXT_PROP_ID. Cet appel permet de maintenir le handle du fournisseur de clés ouvert pour les appels ultérieurs aux fonctions de chiffrement mentionnées qui utilisent ce même certificat, ce qui élimine la nécessité d’effectuer des appels supplémentaires à CryptAcquireContext, ce qui améliore l’efficacité. En outre, étant donné que certains fournisseurs peuvent exiger qu’un mot de passe soit entré pour les appels à CryptAcquireContext, il est souhaitable que les applications réduisent le nombre d’appels CryptAcquireContext effectués. Les handles aux fournisseurs de clés qui ont été maintenus ouverts sont automatiquement libérés lorsque le magasin est fermé.
Par exemple, considérez une application de messagerie où cinq messages chiffrés ont été reçus, tous chiffrés avec la clé publique à partir du même certificat. Si le handle du fournisseur de clés est maintenu ouvert après le traitement du premier message, les appels à CryptAcquireContext ne sont pas requis pour les quatre messages restants.
cProvParam
Nombre d’éléments dans le tableau rgProvParam .
Lorsque le membre dwProvType est égal à zéro, ce membre n’est pas utilisé et doit être égal à zéro.
rgProvParam
Tableau de structures CRYPT_KEY_PROV_PARAM qui contiennent les paramètres du conteneur de clé. Le membre cProvParam contient le nombre d’éléments dans ce tableau.
Lorsque le membre dwProvType est égal à zéro, ce membre n’est pas utilisé et doit avoir la valeur NULL.
dwKeySpec
Spécification de la clé privée à récupérer.
Les valeurs suivantes sont définies pour le fournisseur par défaut.
Lorsque le membre dwProvType est égal à zéro, cette valeur est passée en tant que paramètre dwLegacyKeySpec à la fonction NCryptOpenKey .
Valeur | Signification |
---|---|
|
Clés utilisées pour chiffrer/déchiffrer les clés de session. |
|
Clés utilisées pour créer et vérifier des signatures numériques. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | wincrypt.h |