BCryptDeriveKeyCapi 함수(bcrypt.h)
BCryptDeriveKeyCapi 함수는 해시 값에서 키를 파생합니다.
이 함수는 암호화 API: 차세대(CNG)를 사용하도록 기존 CAPI(Cryptography API) 기반 애플리케이션을 마이그레이션하는 데 도움이 되는 도우미 함수로 제공됩니다. BCryptDeriveKeyCapi 함수는 CAPI CryptDeriveKey 함수와 호환되는 방식으로 키 파생을 수행합니다.
구문
NTSTATUS BCryptDeriveKeyCapi(
[in] BCRYPT_HASH_HANDLE hHash,
[in, optional] BCRYPT_ALG_HANDLE hTargetAlg,
[out] PUCHAR pbDerivedKey,
[in] ULONG cbDerivedKey,
[in] ULONG dwFlags
);
매개 변수
[in] hHash
해시 개체의 핸들입니다. 핸들은 BCryptCreateHash 함수를 호출하여 가져옵니다. 핸들 사용을 마쳤으면 BCryptDestroyHash 함수를 호출하여 핸들을 해제해야 합니다.
[in, optional] hTargetAlg
알고리즘 개체의 핸들입니다. CryptDeriveKey 함수와 호환되는 ALG_ID 값일 수 있습니다.
참고 CAPI 및 키 확장의 제한 사항으로 인해 512비트보다 큰 출력을 생성하는 해시 알고리즘을 사용할 수 없습니다.
[out] pbDerivedKey
파생 키를 받는 버퍼에 대한 포인터입니다.
[in] cbDerivedKey
pbDerivedKey 매개 변수가 가리키는 파생 키의 크기(문자)입니다.
[in] dwFlags
이 매개 변수는 예약되어 있으며 0으로 설정해야 합니다.
반환 값
함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다.
가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
|
함수가 성공했습니다. |
|
hHash 또는 hTargetAlg 매개 변수의 핸들이 잘못되었습니다. |
|
cbDerivedKey 매개 변수의 값이 해시 함수의 출력 크기의 두 배보다 큽니다. |
|
메모리 할당 오류가 발생했습니다. |
설명
이 함수는 CAPI CryptDeriveKey 함수의 PK 솔트 기능을 지원하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | bcrypt.h |
라이브러리 | Bcrypt.lib |
DLL | Bcrypt.dll |