Función NCryptProtectSecret (ncryptprotect.h)
La función NCryptProtectSecret cifra los datos en un descriptor de protección especificado. Llame a NCryptUnprotectSecret para descifrar los datos.
Sintaxis
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
);
Parámetros
[in] hDescriptor
Identificador del objeto descriptor de protección. Cree el identificador mediante una llamada a NCryptCreateProtectionDescriptor.
[in] dwFlags
La marca puede ser cero o el siguiente valor.
Valor | Significado |
---|---|
|
Solicita que el proveedor de servicios clave no muestre una interfaz de usuario. |
[in] pbData
Puntero a la matriz de bytes que se va a proteger.
[in] cbData
Número de bytes de la matriz binaria especificada por el parámetro pbData .
[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 ppbProtectedBlob .
[in, optional] hWnd
Controle a la ventana primaria de la interfaz de usuario, si existe, que se va a mostrar.
[out] ppbProtectedBlob
Dirección de una variable que recibe un puntero a los datos cifrados.
[out] pcbProtectedBlob
Puntero a una variable ULONG que contiene el tamaño, en bytes, de los datos cifrados a los que apunta la variable ppbProtectedBlob .
Valor devuelto
Devuelve un código de estado que indica el éxito o error de la función. Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.
Código devuelto | Descripción |
---|---|
|
La función se realizó correctamente. |
|
Los parámetros pbData, ppbProtectedBlob y pcbProtectedBlob no pueden ser NULL.
El parámetro cbData no puede ser menor que uno. |
|
Existe memoria insuficiente para asignar la clave de cifrado de contenido. |
|
El identificador especificado por el parámetro hDescriptor no es válido. |
Comentarios
Use la función NCryptProtectSecret para proteger las claves, el material de clave y las contraseñas. Use las funciones NCryptStreamOpenToProtect y NCryptStreamUpdate para cifrar 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 |