Partager via


Fonction NCryptUnprotectSecret (ncryptprotect.h)

La fonction NCryptUnprotectSecret déchiffre les données dans un descripteur de protection spécifié. Appelez NCryptProtectSecret pour chiffrer les données.

Syntaxe

SECURITY_STATUS NCryptUnprotectSecret(
  [out, optional] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor,
  [in]            DWORD                    dwFlags,
  [in]            const BYTE               *pbProtectedBlob,
                  ULONG                    cbProtectedBlob,
  [in, optional]  const NCRYPT_ALLOC_PARA  *pMemPara,
  [in, optional]  HWND                     hWnd,
  [out]           BYTE                     **ppbData,
  [out]           ULONG                    *pcbData
);

Paramètres

[out, optional] phDescriptor

Pointeur vers le handle de descripteur de protection.

[in] dwFlags

L’indicateur peut être égal à zéro ou au niveau du bit OR des valeurs suivantes.

Valeur Signification
NCRYPT_SILENT_FLAG
Demande que le fournisseur de services de clé n’affiche pas d’interface utilisateur.
NCRYPT_UNPROTECT_NO_DECRYPT
Décode uniquement l’en-tête de l’objet blob de données protégé. Aucun déchiffrement réel n’a lieu.

[in] pbProtectedBlob

Pointeur vers un tableau d’octets qui contient les données à déchiffrer.

cbProtectedBlob

Nombre d’octets dans le tableau pointé vers le paramètre pbProtectedBlob .

[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 de la mémoire et votre application doit appeler LocalFree pour libérer la mémoire pointée vers le paramètre ppbData .

[in, optional] hWnd

Gérez la fenêtre parente de l’interface utilisateur, le cas échéant, à afficher.

[out] ppbData

Adresse d’une variable qui reçoit un pointeur vers les données déchiffrées.

[out] pcbData

Pointeur vers une variable ULONG qui contient la taille, en octets, des données déchiffrées pointées par la variable ppbData .

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
ERROR_SUCCESS
La fonction a réussi.
NTE_BAD_FLAGS
Le paramètre dwFlags ne peut contenir que NCRYPT_SILENT_FLAG ou NCRYPT_UNPROTECT_NO_DECRYPT.
NTE_INVALID_PARAMETER
Les paramètres pbProtectedBlob, ppbData et pcbData ne peuvent pas être NULL.

Le paramètre cbData ne peut pas être inférieur à un.

Remarques

Utilisez la fonction NCryptUnprotectSecret pour déchiffrer les clés, le matériel de clé et les mots de passe. Utilisez les fonctions NCryptStreamOpenToUnprotect et NCryptStreamUpdate pour dé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

Voir aussi

Fonctions DPAPI CNG

NCryptProtectSecret