PFN_CMSG_CNG_IMPORT_KEY_TRANS 콜백 함수(wincrypt.h)

PFN_CMSG_CNG_IMPORT_KEY_TRANS 콜백 함수는 키 전송 수신자를 위한 CEK(콘텐츠 암호화 키)를 가져오고 암호를 해독합니다. PFN_CMSG_CNG_IMPORT_KEY_TRANS 암호화 API: CNG(차세대) OID( 개체 식별자 )를 사용하여 설치할 수 있습니다.

구문

PFN_CMSG_CNG_IMPORT_KEY_TRANS PfnCmsgCngImportKeyTrans;

BOOL PfnCmsgCngImportKeyTrans(
  [in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
  [in]      PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

매개 변수

[in, out] pCNGContentDecryptInfo

암호 해독된 CEK 바이트로 업데이트할 CMSG_CNG_CONTENT_DECRYPT_INFO 구조체에 대한 포인터입니다. 이 매개 변수에는 CEK 암호를 해독하는 데 사용되는 키가 포함되어 있습니다. 다음 pKeyTransDecryptPara 매개 변수에는 암호 해독할 CEK 바이트가 포함되어 있습니다.

[in] pKeyTransDecryptPara

CMSG_CTRL_DECRYPT 또는 CMSG_CTRL_KEY_TRANS_DECRYPT 사례에서 CryptMsgControl 함수에 전달된 키 전송 정보를 포함하는 CMSG_CTRL_KEY_TRANS_DECRYPT_PARA 구조체에 대한 포인터입니다. CMSG_CTRL_DECRYPT 경우 CryptMsgControlCMSG_CTRL_DECRYPT_PARA 구조를 CMSG_CTRL_KEY_TRANS_DECRYPT_PARA 구조체로 변환합니다.

pKeyTrans 멤버의 EncryptedKey 멤버에는 암호 해독할 CEK 바이트가 포함됩니다. CMSG_CTRL_KEY_TRANS_DECRYPT_PARA 구조체에 HCRYPTPROV 선택 항목이 포함될 수 있으므로 hNCryptKey 멤버를 사용하여 EncryptedKey의 암호를 해독할 수 없습니다. 대신 pCNGContentDecryptInfo 매개 변수에 지정된 hNCryptKey를 사용해야 합니다.

이 함수는 CMSG_CTRL_KEY_TRANS_DECRYPT_PARA 구조체의 멤버를 업데이트해서는 안됩니다.

[in] dwFlags

이 매개 변수는 예약되어 있습니다. 0으로 설정합니다.

pvReserved

이 매개 변수는 예약되어 있습니다. NULL로 설정합니다.

반환 값

함수가 성공하면 반환 값은 0이 아닌 값(TRUE)입니다.

함수가 실패하면 반환 값은 0(FALSE)입니다. 확장된 오류 정보는 GetLastError를 호출합니다.

이 콜백 함수가 키 암호화 알고리즘을 지원하지 않는 경우 FALSE 를 반환하고 ERROR_NOT_SUPPORTED 사용하여 SetLastError 를 호출해야 합니다.

설명

CryptMsgControl 함수는 dwCtrlType 매개 변수로 지정된 다음 작업에 대해 이 함수를 호출합니다.

CMSG_CTRL_DECRYPTCMSG_CTRL_KEY_TRANS_DECRYPTOID 지원 함수를 사용하여 이 콜백 함수를 배포할 수 있습니다. Wincrypt.h는 이 목적을 위해 다음 상수를 정의합니다.

상수 정의
CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC "CryptMsgDllCNGImportKeyTrans"
 

예제

OID 설치 가능 콜백 함수를 배포하는 예제는 CryptoAPI 기능 확장을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincrypt.h

추가 정보

봉투 데이터 디코딩