Freigeben über


NCryptUnprotectSecret-Funktion (ncryptprotect.h)

Die NCryptUnprotectSecret-Funktion entschlüsselt Daten in einen angegebenen Schutzdeskriptor. Rufen Sie NCryptProtectSecret auf, um die Daten zu verschlüsseln.

Syntax

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

Parameter

[out, optional] phDescriptor

Zeiger auf das Schutzdeskriptorhandle.

[in] dwFlags

Das Flag kann null oder ein bitweiser OR der folgenden Werte sein.

Wert Bedeutung
NCRYPT_SILENT_FLAG
Fordert an, dass der Schlüsseldienstanbieter keine Benutzeroberfläche anzeigt.
NCRYPT_UNPROTECT_NO_DECRYPT
Decodiert nur den Header des geschützten Datenblobs. Es findet keine tatsächliche Entschlüsselung statt.

[in] pbProtectedBlob

Zeiger auf ein Array von Bytes, das die zu entschlüsselnden Daten enthält.

cbProtectedBlob

Die Anzahl der Bytes im Array, auf die der pbProtectedBlob-Parameter verweist.

[in, optional] pMemPara

Zeiger auf eine NCRYPT_ALLOC_PARA Struktur, mit der Sie benutzerdefinierte Speicherverwaltungsfunktionen angeben können. Wenn Sie dieses Argument auf NULL festlegen, wird die LocalAlloc-Funktion intern verwendet, um Arbeitsspeicher zuzuweisen, und Ihre Anwendung muss LocalFree aufrufen, um Arbeitsspeicher freizugeben, auf den der ppbData-Parameter verweist.

[in, optional] hWnd

Handle zum übergeordneten Fenster der Benutzeroberfläche, falls vorhanden, das angezeigt werden soll.

[out] ppbData

Adresse einer Variablen, die einen Zeiger auf die entschlüsselten Daten empfängt.

[out] pcbData

Zeiger auf eine ULONG-Variable , die die Größe der entschlüsselten Daten in Bytes enthält, auf die die ppbData-Variable verweist.

Rückgabewert

Gibt einen status Code zurück, der den Erfolg oder Fehler der Funktion angibt. Mögliche Rückgabecodes umfassen folgendes, sind aber nicht darauf beschränkt.

Rückgabecode Beschreibung
ERROR_SUCCESS
Die Funktion war erfolgreich.
NTE_BAD_FLAGS
Der dwFlags-Parameter darf nur NCRYPT_SILENT_FLAG oder NCRYPT_UNPROTECT_NO_DECRYPT enthalten.
NTE_INVALID_PARAMETER
Die Parameter pbProtectedBlob, ppbData und pcbData dürfen nicht NULL sein.

Der cbData-Parameter darf nicht kleiner als eins sein.

Hinweise

Verwenden Sie die NCryptUnprotectSecret-Funktion , um Schlüssel, Schlüsselmaterial und Kennwörter zu entschlüsseln. Verwenden Sie die Funktionen NCryptStreamOpenToUnprotect und NCryptStreamUpdate , um größere Nachrichten zu entschlüsseln.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ncryptprotect.h
Bibliothek NCrypt.lib
DLL NCrypt.dll

Weitere Informationen

CNG DPAPI-Funktionen

NCryptProtectSecret