Compartir a través de


Función NCryptUnprotectSecret (ncryptprotect.h)

La función NCryptUnprotectSecret descifra los datos en un descriptor de protección especificado. Llame a NCryptProtectSecret para cifrar los datos.

Sintaxis

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
);

Parámetros

[out, optional] phDescriptor

Puntero al identificador del descriptor de protección.

[in] dwFlags

La marca puede ser cero o un OR bit a bit de los valores siguientes.

Valor Significado
NCRYPT_SILENT_FLAG
Solicita que el proveedor de servicios clave no muestre una interfaz de usuario.
NCRYPT_UNPROTECT_NO_DECRYPT
Descodifica solo el encabezado del blob de datos protegido. No se realiza ningún descifrado real.

[in] pbProtectedBlob

Puntero a una matriz de bytes que contiene los datos que se van a descifrar.

cbProtectedBlob

Número de bytes de la matriz a la que apunta el parámetro pbProtectedBlob .

[in, optional] pMemPara

Puntero a una estructura de NCRYPT_ALLOC_PARA que puede usar para especificar funciones de administración de memoria personalizadas. Si establece este argumento en NULL, la función LocalAlloc se usa internamente para asignar memoria y la aplicación debe llamar a LocalFree para liberar memoria a la que apunta el parámetro ppbData .

[in, optional] hWnd

Controle la ventana primaria de la interfaz de usuario, si existe, que se va a mostrar.

[out] ppbData

Dirección de una variable que recibe un puntero a los datos descifrados.

[out] pcbData

Puntero a una variable ULONG que contiene el tamaño, en bytes, de los datos descifrados a los que apunta la variable ppbData .

Valor devuelto

Devuelve un código de estado que indica el éxito o error de la función. Entre los posibles códigos de retorno se incluyen, entre otros, los siguientes.

Código devuelto Descripción
ERROR_SUCCESS
La función se realizó correctamente.
NTE_BAD_FLAGS
El parámetro dwFlags solo puede contener NCRYPT_SILENT_FLAG o NCRYPT_UNPROTECT_NO_DECRYPT.
NTE_INVALID_PARAMETER
Los parámetros pbProtectedBlob, ppbData y pcbData no pueden ser NULL.

El parámetro cbData no puede ser menor que uno.

Comentarios

Use la función NCryptUnprotectSecret para descifrar las claves, el material de clave y las contraseñas. Use las funciones NCryptStreamOpenToUnprotect y NCryptStreamUpdate para descifrar mensajes más grandes.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ncryptprotect.h
Library NCrypt.lib
Archivo DLL NCrypt.dll

Consulte también

Funciones de DPAPI de CNG

NCryptProtectSecret