NCryptProtectSecret 함수(ncryptprotect.h)
NCryptProtectSecret 함수는 데이터를 지정된 보호 설명자로 암호화합니다. NCryptUnprotectSecret을 호출하여 데이터의 암호를 해독합니다.
구문
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
);
매개 변수
[in] hDescriptor
보호 설명자 개체의 핸들입니다. NCryptCreateProtectionDescriptor를 호출하여 핸들을 만듭니다.
[in] dwFlags
플래그는 0이거나 다음 값일 수 있습니다.
값 | 의미 |
---|---|
|
키 서비스 공급자가 사용자 인터페이스를 표시하지 않도록 요청합니다. |
[in] pbData
보호할 바이트 배열에 대한 포인터입니다.
[in] cbData
pbData 매개 변수로 지정된 이진 배열의 바이트 수입니다.
[in, optional] pMemPara
사용자 지정 메모리 관리 함수를 지정하는 데 사용할 수 있는 NCRYPT_ALLOC_PARA 구조체에 대한 포인터입니다. 이 인수를 NULL로 설정하면 LocalAlloc 함수가 내부적으로 메모리를 할당하는 데 사용되며, 애플리케이션은 LocalFree 를 호출하여 ppbProtectedBlob 매개 변수가 가리키는 메모리를 해제해야 합니다.
[in, optional] hWnd
표시할 사용자 인터페이스의 부모 창(있는 경우)에 대한 핸들입니다.
[out] ppbProtectedBlob
암호화된 데이터에 대한 포인터를 수신하는 변수의 주소입니다.
[out] pcbProtectedBlob
ppbProtectedBlob 변수가 가리키는 암호화된 데이터의 크기(바이트)를 포함하는 ULONG 변수에 대한 포인터입니다.
반환 값
함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다. 가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
|
함수가 성공했습니다. |
|
pbData, ppbProtectedBlob 및 pcbProtectedBlob 매개 변수는 NULL일 수 없습니다.
cbData 매개 변수는 1보다 작을 수 없습니다. |
|
콘텐츠 암호화 키를 할당할 메모리가 부족합니다. |
|
hDescriptor 매개 변수로 지정된 핸들이 잘못되었습니다. |
설명
NCryptProtectSecret 함수를 사용하여 키, 키 자료 및 암호를 보호합니다. NCryptStreamOpenToProtect 및 NCryptStreamUpdate 함수를 사용하여 더 큰 메시지를 암호화합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ncryptprotect.h |
라이브러리 | NCrypt.lib |
DLL | NCrypt.dll |