Fonction CryptSetProvParam (wincrypt.h)
Syntaxe
BOOL CryptSetProvParam(
[in] HCRYPTPROV hProv,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Paramètres
[in] hProv
Handle d’un fournisseur de solutions cloud pour lequel définir des valeurs. Ce handle doit déjà avoir été créé à l’aide de la fonction CryptAcquireContext .
[in] dwParam
Spécifie le paramètre à définir. Il peut s’agir de l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Définissez le handle de fenêtre que le fournisseur utilise comme parent de toutes les boîtes de dialogue qu’il crée. pbData contient un pointeur vers un HWND qui contient le handle de fenêtre parente.
Ce paramètre doit être défini avant d’appeler CryptAcquireContext , car de nombreux fournisseurs de solutions cloud affichent une interface utilisateur lorsque CryptAcquireContext est appelé. Vous pouvez passer la valeur NULL pour le paramètre hProv afin de définir ce handle de fenêtre pour tous les contextes de chiffrement acquis par la suite dans ce processus. |
|
Supprimez la clé éphémère associée à un contexte de hachage, de chiffrement ou de vérification. Cela libère de la mémoire et efface les paramètres de Registre associés à la clé. |
|
Cette constante n’est pas utilisée. |
|
Spécifie que le code pin d’échange de clé est contenu dans pbData. Le code pin est représenté sous la forme d’une chaîne ASCII terminée par une valeur Null. |
|
Cette constante n’est pas utilisée. |
|
Définit le descripteur de sécurité sur le conteneur de stockage de clé. Le paramètre pbData est l’adresse d’une structure de SECURITY_DESCRIPTOR qui contient le nouveau descripteur de sécurité pour le conteneur de stockage de clé. |
|
Définit une autre chaîne d’invite à afficher à l’utilisateur lorsque le code confidentiel de l’utilisateur est demandé. Le paramètre pbData est un pointeur vers une chaîne Unicode terminée par null. |
|
Définit le magasin de certificats racine pour le carte intelligent. Le fournisseur copie les certificats racine de ce magasin sur le carte intelligent.
Le paramètre pbData est une variable HCERTSTORE qui contient le handle du nouveau magasin de certificats. Le fournisseur copiera les certificats du magasin pendant cet appel. Il est donc sûr de fermer ce magasin après l’appel de cette fonction. Windows XP et Windows Server 2003 : Ce paramètre n’est pas pris en charge. |
|
Cette constante n’est pas utilisée. |
|
Spécifie le code pin de signature. Le paramètre pbData est une chaîne ASCII terminée par null qui représente le code pin. |
|
Cette constante n’est pas utilisée. |
|
Pour un fournisseur de carte intelligent, définit la chaîne de recherche affichée à l’utilisateur en tant qu’invite à insérer le carte intelligent. Cette chaîne est transmise en tant que membre lpstrSearchDesc de la structure OPENCARDNAME_EX transmise à la fonction SCardUIDlgSelectCard . Cette chaîne est utilisée pendant la durée de vie du processus appelant.
Le paramètre pbData est un pointeur vers une chaîne Unicode terminée par null. |
|
Spécifie que le fournisseur de services cloud doit utiliser exclusivement le générateur de nombres aléatoires matériels (RNG). Lorsque PP_USE_HARDWARE_RNG est défini, les valeurs aléatoires sont extraites exclusivement du RNG matériel et aucune autre source n’est utilisée. Si un RNG matériel est pris en charge par le fournisseur de solutions cloud et qu’il peut être utilisé exclusivement, la fonction réussit et retourne TRUE ; sinon, la fonction échoue et retourne FALSE. Le paramètre pbData doit avoir la valeur NULL et dwFlags doit être égal à zéro lors de l’utilisation de cette valeur.
Aucun des fournisseurs de solutions cloud Microsoft ne prend actuellement en charge l’utilisation d’un RNG matériel. |
|
Spécifie le magasin de certificats utilisateur pour le carte intelligent. Ce magasin de certificats contient tous les certificats utilisateur stockés sur le carte intelligent. Les certificats de ce magasin sont encodés à l’aide d’un encodage PKCS_7_ASN_ENCODING ou X509_ASN_ENCODING et doivent contenir la propriété CERT_KEY_PROV_INFO_PROP_ID .
Le paramètre pbData est une variable HCERTSTORE qui reçoit le handle d’un magasin de certificats en mémoire. Lorsque ce handle n’est plus nécessaire, l’appelant doit le fermer à l’aide de la fonction CertCloseStore . Windows Server 2003 et Windows XP : Ce paramètre n’est pas pris en charge. |
|
Spécifie qu’un code pin d’échange de clé chiffré est contenu dans pbData. Le paramètre pbData contient une DATA_BLOB. |
|
Spécifie qu’un code pin de signature chiffré est contenu dans pbData. Le paramètre pbData contient une DATA_BLOB. |
|
Spécifie le nom du lecteur smart carte. Le paramètre pbData est l’adresse d’un tableau de caractères ANSI qui contient une chaîne ANSI terminée par null qui contient le nom du lecteur smart carte.
Windows Server 2003 et Windows XP : Ce paramètre n’est pas pris en charge. |
|
Spécifie l’identificateur du carte intelligent. Le paramètre pbData est l’adresse d’une structure GUID qui contient l’identificateur du carte intelligent.
Windows Server 2003 et Windows XP : Ce paramètre n’est pas pris en charge. |
[in] pbData
Pointeur vers une mémoire tampon de données qui contient la valeur à définir en tant que paramètre de fournisseur. La forme de ces données varie en fonction de la valeur dwParam . Si dwParam contient PP_USE_HARDWARE_RNG, ce paramètre doit avoir la valeur NULL.
[in] dwFlags
Si dwParam contient PP_KEYSET_SEC_DESCR, dwFlags contient les SECURITY_INFORMATION indicateurs de bits applicables, tels que définis dans le Kit de développement logiciel (SDK) de plateforme. La sécurité du conteneur de clés est gérée à l’aide de SetFileSecurity et GetFileSecurity.
Ces indicateurs de bits peuvent être combinés à l’aide d’une opération OR au niveau du bit. Pour plus d’informations, consultez CryptGetProvParam.
Si dwParam est PP_USE_HARDWARE_RNG ou PP_DELETEKEY, dwFlags doit être défini sur zéro.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).
Si la fonction échoue, la valeur de retour est zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Les codes d’erreur préfacés par « NTE » sont générés par le fournisseur de solutions cloud en cours d’utilisation. Les codes d’erreur incluent les éléments suivants.
Code de retour | Description |
---|---|
|
Le contexte CSP est actuellement utilisé par un autre processus. |
|
L’un des paramètres spécifie un handle qui n’est pas valide. |
|
L’un des paramètres contient une valeur qui n’est pas valide. Il s’agit le plus souvent d’un pointeur qui n’est pas valide. |
|
Le paramètre dwFlags est différent de zéro ou la mémoire tampon pbData contient une valeur non valide. |
|
Le paramètre dwParam spécifie un paramètre inconnu. |
|
Le contexte CSP spécifié lors de la création de la clé hKey est introuvable. |
|
La fonction a échoué d’une manière inattendue. |
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] |
Plateforme cible | Windows |
En-tête | wincrypt.h |
Bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |