다음을 통해 공유


NCryptUnprotectSecret 함수(ncryptprotect.h)

NCryptUnprotectSecret 함수는 데이터를 지정된 보호 설명자로 암호 해독합니다. NCryptProtectSecret을 호출하여 데이터를 암호화합니다.

구문

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

매개 변수

[out, optional] phDescriptor

보호 설명자 핸들에 대한 포인터입니다.

[in] dwFlags

플래그는 다음 값의 0 또는 비트 OR일 수 있습니다.

의미
NCRYPT_SILENT_FLAG
키 서비스 공급자가 사용자 인터페이스를 표시하지 않도록 요청합니다.
NCRYPT_UNPROTECT_NO_DECRYPT
보호된 데이터 Blob의 헤더만 디코딩합니다. 실제 암호 해독은 발생하지 않습니다.

[in] pbProtectedBlob

암호 해독할 데이터가 포함된 바이트 배열에 대한 포인터입니다.

cbProtectedBlob

pbProtectedBlob 매개 변수가 가리키는 배열의 바이트 수입니다.

[in, optional] pMemPara

사용자 지정 메모리 관리 함수를 지정하는 데 사용할 수 있는 NCRYPT_ALLOC_PARA 구조체에 대한 포인터입니다. 이 인수를 NULL로 설정하면 LocalAlloc 함수는 내부적으로 메모리를 할당하는 데 사용되며 애플리케이션은 LocalFree 를 호출하여 ppbData 매개 변수가 가리키는 메모리를 해제해야 합니다.

[in, optional] hWnd

표시할 사용자 인터페이스의 부모 창(있는 경우)에 대한 핸들입니다.

[out] ppbData

암호 해독된 데이터에 대한 포인터를 수신하는 변수의 주소입니다.

[out] pcbData

ppbData 변수가 가리키는 암호 해독된 데이터의 크기(바이트)를 포함하는 ULONG 변수에 대한 포인터입니다.

반환 값

함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다. 가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 설명
ERROR_SUCCESS
함수가 성공했습니다.
NTE_BAD_FLAGS
dwFlags 매개 변수는 NCRYPT_SILENT_FLAG 또는 NCRYPT_UNPROTECT_NO_DECRYPT 포함할 수 있습니다.
NTE_INVALID_PARAMETER
pbProtectedBlob, ppbDatapcbData 매개 변수는 NULL일 수 없습니다.

cbData 매개 변수는 1보다 작을 수 없습니다.

설명

NCryptUnprotectSecret 함수를 사용하여 키, 키 자료 및 암호를 해독합니다. NCryptStreamOpenToUnprotectNCryptStreamUpdate 함수를 사용하여 더 큰 메시지의 암호를 해독합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ncryptprotect.h
라이브러리 NCrypt.lib
DLL NCrypt.dll

추가 정보

CNG DPAPI 함수

NCryptProtectSecret