次の方法で共有


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 (デスクトップ アプリのみ)
Header wincrypt.h

こちらもご覧ください

エンベロープ データのエンコード