CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 구조체(wincrypt.h)
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 구조에는 키 계약 키 관리를 사용하는 메시지 수신자에 대한 정보가 포함됩니다. 이 구조체는 CMSG_RECIPIENT_ENCODE_INFO 구조체와 함께 사용됩니다.
구문
typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
void *pvKeyEncryptionAuxInfo;
CRYPT_ALGORITHM_IDENTIFIER KeyWrapAlgorithm;
void *pvKeyWrapAuxInfo;
HCRYPTPROV_LEGACY hCryptProv;
DWORD dwKeySpec;
DWORD dwKeyChoice;
union {
PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
PCERT_ID pSenderId;
} DUMMYUNIONNAME;
CRYPT_DATA_BLOB UserKeyingMaterial;
DWORD cRecipientEncryptedKeys;
PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO *rgpRecipientEncryptedKeys;
} CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
멤버
cbSize
이 구조체의 크기(바이트)입니다.
KeyEncryptionAlgorithm
암호화에 사용되는 알고리즘을 지정하는 CRYPT_ALGORITHM_IDENTIFIER 구조체입니다.
ECC 받는 사람의 경우 이 CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 구조체의 dwKeyChoice 멤버가 CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE 설정된 상태에서 CRYPT_ALGORITHM_IDENTIFIER 구조체의 pszObjId 멤버를 szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF 설정해야 합니다.
pvKeyEncryptionAuxInfo
이 멤버는 현재 사용되지 않습니다. NULL로 설정해야 합니다.
KeyWrapAlgorithm
키 래핑에 사용되는 알고리즘을 지정하는 CRYPT_ALGORITHM_IDENTIFIER 구조체입니다.
pvKeyWrapAuxInfo
키 래핑 비트 길이를 지정하는 CMSG_RC2_AUX_INFO 구조체에 대한 포인터입니다. 이 멤버는 KeyWrapAlgorithm 멤버가 RC2 알고리즘을 지정하는 경우에만 사용됩니다. KeyWrapAlgorithm이 RC2 알고리즘 이외의 알고리즘을 지정하는 경우 이 멤버는 사용되지 않으며 NULL이어야 합니다.
hCryptProv
이 멤버는 사용되지 않으며 NULL로 설정해야 합니다.
Windows Server 2003 및 Windows XP: CryptAcquireContext 함수를 사용하여 가져온 CSP(암호화 서비스 공급자)에 대한 핸들입니다. 이 멤버는 선택 사항이며 NULL일 수 있습니다. 이 멤버의 데이터 형식은 HCRYPTPROV입니다.
dwKeySpec
이 멤버는 현재 사용되지 않습니다.
dwKeyChoice
키 규약의 유형을 나타냅니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
콘텐츠 암호화 키를 암호화하는 임시 퍼블릭/프라이빗 키 쌍 을 만듭니다. |
|
이 값은 현재 사용되지 않습니다. |
DUMMYUNIONNAME
DUMMYUNIONNAME.pEphemeralAlgorithm
임시 공개 키 알고리즘 및 매개 변수를 포함하는 CRYPT_ALGORITHM_IDENTIFIER 구조체에 대한 포인터입니다. 이 멤버는 dwKeyChoice 멤버에 CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE 포함할 때 사용됩니다.
DUMMYUNIONNAME.pSenderId
CERT_ID 구조체에 대한 포인터입니다. 이 멤버는 dwKeyChoice 멤버에 CMSG_KEY_AGREE_STATIC_KEY_CHOICE 포함할 때 사용됩니다. 이 멤버는 현재 사용되지 않습니다.
UserKeyingMaterial
동일한 두 당사자가 쌍 단위 키를 생성할 때마다 다른 키가 생성되도록 발신자가 제공하는 UKM(사용자 키 지정 자료)을 포함하는 CRYPT_DATA_BLOB 구조입니다 . 이 멤버는 선택 사항이며 사용하지 않을 경우 모든 멤버를 0으로 설정해야 합니다.
cRecipientEncryptedKeys
rgpRecipientEncryptedKeys 배열의 요소 수입니다.
rgpRecipientEncryptedKeys
각 수신자가 이 키 규약 키를 받을 수 있도록 하는 CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO 구조의 배열입니다. cRecipientEncryptedKeys 멤버에는 이 구조체의 요소 수가 포함됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | wincrypt.h |