NCryptTranslateHandle 함수(ncrypt.h)
NCryptTranslateHandle 함수는 CryptoAPI 핸들을 CNG 키 핸들로 변환합니다.
구문
SECURITY_STATUS NCryptTranslateHandle(
[out, optional] NCRYPT_PROV_HANDLE *phProvider,
[out] NCRYPT_KEY_HANDLE *phKey,
[in] HCRYPTPROV hLegacyProv,
[in, optional] HCRYPTKEY hLegacyKey,
[in, optional] DWORD dwLegacyKeySpec,
[in] DWORD dwFlags
);
매개 변수
[out, optional] phProvider
phKey매개 변수에 배치된 CNG 키를 소유하는 CNG 키 스토리지 공급자의 핸들을 수신하는 NCRYPT_PROV_HANDLE 변수에 대한 포인터입니다. 이 핸들이 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다.
[out] phKey
CNG 키 핸들을 수신하는 NCRYPT_KEY_HANDLE 변수에 대한 포인터입니다.
[in] hLegacyProv
번역할 키가 포함된 CryptoAPI 공급자의 핸들입니다. 이 함수는 이 공급자의 컨테이너에 있는 CryptoAPI 키를 변환합니다.
[in, optional] hLegacyKey
반환된 키의 키 사양을 결정하는 데 사용할 CryptoAPI 키의 핸들입니다. dwLegacyKeySpec 매개 변수에 0 이외의 값이 포함된 경우 이 매개 변수는 무시됩니다.
hLegacyKey가 NULL이고 dwLegacyKeySpec이 0인 경우 이 함수는 hLegacyProv 핸들에서 키 사양을 확인하려고 시도합니다.
[in, optional] dwLegacyKeySpec
키의 키 사양을 지정합니다. 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
키는 아래 형식이 아닙니다. |
|
키는 키 교환 키입니다. |
|
키는 서명 키입니다. |
hLegacyKey가 NULL이고 dwLegacyKeySpec이 0인 경우 이 함수는 hLegacyProv 핸들에서 키 사양을 확인하려고 시도합니다.
[in] dwFlags
이 함수의 동작을 수정하는 플래그 집합입니다. 이 함수에 대해 정의된 플래그가 없습니다.
반환 값
함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다.
가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
|
함수가 성공했습니다. |
|
dwFlags 매개 변수에는 유효하지 않은 값이 포함되어 있습니다. |
|
하나 이상의 매개 변수가 유효하지 않습니다. |
|
메모리 할당 오류가 발생했습니다. |
설명
현재 CryptoAPI를 사용하여 CNG를 사용하도록 정상적으로 전환하는 애플리케이션 및 시스템 구성 요소를 돕기 위한 도우미 함수입니다.
이 함수는 CNG 키 스토리지 공급자가 hLegacyProv 매개 변수에서 참조하는 CSP(암호화 서비스 공급자)의 이름과 동일한 이름 또는 별칭으로 등록된 경우에만 성공합니다.
이 함수는 다음 단계를 수행하여 CSP 핸들을 CNG 키 핸들로 변환합니다.
- hLegacyProv 핸들에서 CSP의 이름을 가져옵니다.
- 이름 또는 별칭이 CSP 이름과 동일한 CNG 공급자를 엽니다.
- CSP에서 현재 키 컨테이너의 이름을 가져옵니다.
- CryptoAPI 키를 가져와서 CNG 키로 변환한 다음 phKey 매개 변수에 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | ncrypt.h |
라이브러리 | Ncrypt.lib |
DLL | Ncrypt.dll |