다음을 통해 공유


CMSG_KEY_TRANS_ENCRYPT_INFO 구조체(wincrypt.h)

CMSG_KEY_TRANS_ENCRYPT_INFO 구조에는 봉투형 데이터의 키 전송 수신자에 대한 암호화 정보가 포함됩니다. PFN_CMSG_EXPORT_KEY_TRANS 함수는 이 구조를 업데이트합니다.

구문

typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
  DWORD                      cbSize;
  DWORD                      dwRecipientIndex;
  CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
  CRYPT_DATA_BLOB            EncryptedKey;
  DWORD                      dwFlags;
} CMSG_KEY_TRANS_ENCRYPT_INFO, *PCMSG_KEY_TRANS_ENCRYPT_INFO;

멤버

cbSize

이 구조체의 크기(바이트)입니다.

dwRecipientIndex

PFN_CMSG_EXPORT_KEY_TRANS 함수의 pContentEncryptInfo 매개 변수로 지정된 받는 사람 목록에서 받는 사람의 서수 수를 지정하는 값입니다.

KeyEncryptionAlgorithm

받는 사람 공개 키의 알고리즘을 지정하는 CRYPT_ALGORITHM_IDENTIFIER 구조체입니다. CryptMsgOpenToEncode 함수는 CRYPT_ALGORITHM_IDENTIFIER 구조체의 pszObjId 멤버를 사용하여 키를 내보내는 데 사용되는 함수의 주소를 가져옵니다. 이 함수는 Cryptography API: Next Generation(CNG) 개체 식별자 (OID)를 사용하여 설치할 수 있습니다.

EncryptedKey

받는 사람의 공개 키로 암호화된 세션 키를 포함하는 CRYPT_DATA_BLOB 구조체입니다.

dwFlags

CryptMsgOpenToEncode 함수를 사용하여 업데이트된 멤버와 메모리 할당을 해제해야 하는 멤버를 지정하는 값입니다.

의미
CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG
0x00000002
KeyEncryptionAlgorithm 멤버가 참조하는 CRYPT_ALGORITHM_IDENTIFIER 구조체의 pszObjId 멤버가 업데이트되었습니다.
CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG
0x00000001
KeyEncryptionAlgorithm 멤버가 참조하는 CRYPT_ALGORITHM_IDENTIFIER 구조체의 ParameterspbData 멤버가 업데이트되었습니다.

설명

dwMsgType 매개 변수를 CMSG_ENVELOPED 설정하여 호출하면 CryptMsgOpenToEncode 함수는CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 구조체에서 CMSG_KEY_TRANS_ENCRYPT_INFO 구조를 초기화합니다. CryptMsgOpenToEncode 함수는 PFN_CMSG_EXPORT_KEY_TRANS 함수를 호출하여 CMSG_KEY_TRANS_ENCRYPT_INFO 구조를 업데이트합니다. 콜백 함수를 찾을 수 없는 경우 CryptMsgOpenToEncode 함수는 이 구조를 CMSG_CONTENT_ENCRYPT_INFO 구조체의 기본 키 정보로 채웁니다.

콜백 함수에서 CMSG_KEY_TRANS_ENCRYPT_INFO 구조체의 다음 멤버를 업데이트할 수 있습니다.

EncryptedKey
KeyEncryptionAlgorithm.pszObjId
KeyEncryptionAlgorithm.Parameters
dwFlags

다른 멤버는 읽기 전용입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 wincrypt.h

추가 정보

봉투형 데이터 인코딩