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 受信者の場合、CRYPT_ALGORITHM_IDENTIFIER構造体の pszObjId メンバーは、この CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 構造体の dwKeyChoice メンバーをCMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICEに設定して 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 構造。同じ 2 者がペアワイズ キーを生成するたびに異なるキーが生成されるようにします。 このメンバーは省略可能であり、使用しない場合は、すべてのメンバーを 0 に設定する必要があります。
cRecipientEncryptedKeys
rgpRecipientEncryptedKeys 配列内の要素の数。
rgpRecipientEncryptedKeys
このキーアグリーメント キーを受け取る受信者ごとに 1 つずつ、 CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO 構造の配列。 cRecipientEncryptedKeys メンバーには、この構造体内の要素の数が含まれています。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | wincrypt.h |