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

キー アグリーメントの種類を示します。 このメンバーには、次のいずれかの値を指定できます。

説明
CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE
コンテンツ暗号化キーを暗号化するための一時的な 公開キーと秘密 キーのペアを作成します。
CMSG_KEY_AGREE_STATIC_KEY_CHOICE
この値は現在使用されていません。

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

関連項目

CERT_ID

CMSG_RC2_AUX_INFO

CMSG_RECIPIENT_ENCODE_INFO

CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

CRYPT_ALGORITHM_IDENTIFIER

CRYPT_DATA_BLOB

CryptAcquireContext