Fonction NCryptProtectSecret (ncryptprotect.h)
La fonction NCryptProtectSecret chiffre les données dans un descripteur de protection spécifié. Appelez NCryptUnprotectSecret pour déchiffrer les données.
Syntaxe
SECURITY_STATUS NCryptProtectSecret(
[in] NCRYPT_DESCRIPTOR_HANDLE hDescriptor,
[in] DWORD dwFlags,
[in] const BYTE *pbData,
[in] ULONG cbData,
[in, optional] const NCRYPT_ALLOC_PARA *pMemPara,
[in, optional] HWND hWnd,
[out] BYTE **ppbProtectedBlob,
[out] ULONG *pcbProtectedBlob
);
Paramètres
[in] hDescriptor
Handle de l’objet de descripteur de protection. Créez le handle en appelant NCryptCreateProtectionDescriptor.
[in] dwFlags
L’indicateur peut être égal à zéro ou à la valeur suivante.
Valeur | Signification |
---|---|
|
Demande que le fournisseur de services de clé n’affiche pas d’interface utilisateur. |
[in] pbData
Pointeur vers le tableau d’octets à protéger.
[in] cbData
Nombre d’octets dans le tableau binaire spécifié par le paramètre pbData .
[in, optional] pMemPara
Pointeur vers une structure NCRYPT_ALLOC_PARA que vous pouvez utiliser pour spécifier des fonctions de gestion de mémoire personnalisées. Si vous définissez cet argument sur NULL, la fonction LocalAlloc est utilisée en interne pour allouer la mémoire et votre application doit appeler LocalFree pour libérer la mémoire pointée vers le paramètre ppbProtectedBlob .
[in, optional] hWnd
Gérez la fenêtre parente de l’interface utilisateur, le cas échéant, à afficher.
[out] ppbProtectedBlob
Adresse d’une variable qui reçoit un pointeur vers les données chiffrées.
[out] pcbProtectedBlob
Pointeur vers une variable ULONG qui contient la taille, en octets, des données chiffrées pointées par la variable ppbProtectedBlob .
Valeur retournée
Retourne un code status qui indique la réussite ou l’échec de la fonction. Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.
Code de retour | Description |
---|---|
|
La fonction a réussi. |
|
Les paramètres pbData, ppbProtectedBlob et pcbProtectedBlob ne peuvent pas être NULL.
Le paramètre cbData ne peut pas être inférieur à un. |
|
La mémoire est insuffisante pour allouer la clé de chiffrement de contenu. |
|
Le handle spécifié par le paramètre hDescriptor n’est pas valide. |
Remarques
Utilisez la fonction NCryptProtectSecret pour protéger les clés, le matériel de clé et les mots de passe. Utilisez les fonctions NCryptStreamOpenToProtect et NCryptStreamUpdate pour chiffrer des messages plus volumineux.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ncryptprotect.h |
Bibliothèque | NCrypt.lib |
DLL | NCrypt.dll |