Funzione NCryptUnprotectSecret (ncryptprotect.h)

La funzione NCryptUnprotectSecret decrittografa i dati in un descrittore di protezione specificato. Chiamare NCryptProtectSecret per crittografare i dati.

Sintassi

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

Parametri

[out, optional] phDescriptor

Puntatore all'handle del descrittore di protezione.

[in] dwFlags

Il flag può essere zero o un OR bit per bit dei valori seguenti.

Valore Significato
NCRYPT_SILENT_FLAG
Richiede che il provider di servizi chiave non visualizzi un'interfaccia utente.
NCRYPT_UNPROTECT_NO_DECRYPT
Decodifica solo l'intestazione del BLOB di dati protetto. Non viene eseguita alcuna decrittografia effettiva.

[in] pbProtectedBlob

Puntatore a una matrice di byte che contiene i dati da decrittografare.

cbProtectedBlob

Numero di byte nella matrice a cui punta il parametro pbProtectedBlob .

[in, optional] pMemPara

Puntatore a una struttura NCRYPT_ALLOC_PARA che è possibile usare per specificare funzioni di gestione della memoria personalizzate. Se si imposta questo argomento su NULL, la funzione LocalAlloc viene usata internamente per allocare memoria e l'applicazione deve chiamare LocalFree per rilasciare memoria puntata dal parametro ppbData .

[in, optional] hWnd

Gestire la finestra padre dell'interfaccia utente, se presente, da visualizzare.

[out] ppbData

Indirizzo di una variabile che riceve un puntatore ai dati decrittografati.

[out] pcbData

Puntatore a una variabile ULONG contenente le dimensioni, in byte, dei dati decrittografati puntati dalla variabile ppbData .

Valore restituito

Restituisce un codice di stato che indica l'esito positivo o negativo della funzione. I codici restituiti possibili includono, ma non sono limitati a, i seguenti.

Codice restituito Descrizione
ERROR_SUCCESS
La funzione ha avuto esito positivo.
NTE_BAD_FLAGS
Il parametro dwFlags può contenere solo NCRYPT_SILENT_FLAG o NCRYPT_UNPROTECT_NO_DECRYPT.
NTE_INVALID_PARAMETER
I parametri pbProtectedBlob, ppbData e pcbData non possono essere NULL.

Il parametro cbData non può essere minore di uno.

Commenti

Usare la funzione NCryptUnprotectSecret per decrittografare chiavi, materiale chiave e password. Usare le funzioni NCryptStreamOpenToUnprotect e NCryptStreamUpdate per decrittografare messaggi più grandi.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ncryptprotect.h
Libreria NCrypt.lib
DLL NCrypt.dll

Vedi anche

Funzioni DPAPI CNG

NCryptProtectSecret