次の方法で共有


CMSG_CTRL_DECRYPT_PARA構造体 (wincrypt.h)

CMSG_CTRL_DECRYPT_PARA構造体には、キー トランスポート受信者のエンベロープ メッセージの暗号化を解除するために使用される情報が含まれています。 dwCtrlType パラメーターがCMSG_CTRL_DECRYPT場合、この構造体は CryptMsgControl に渡されます。

CryptoAPI が Secure/Multipurpose Internet Mail Extensions (S/MIME) メールの相互運用性をサポートする方法については、 CryptMsgOpenToEncode の「解説」セクションを参照してください。

構文

typedef struct _CMSG_CTRL_DECRYPT_PARA {
  DWORD cbSize;
  union {
    HCRYPTPROV        hCryptProv;
    NCRYPT_KEY_HANDLE hNCryptKey;
  } DUMMYUNIONNAME;
  DWORD dwKeySpec;
  DWORD dwRecipientIndex;
} CMSG_CTRL_DECRYPT_PARA, *PCMSG_CTRL_DECRYPT_PARA;

メンバー

cbSize

この構造体のサイズ (バイト単位)。

DUMMYUNIONNAME

DUMMYUNIONNAME.hCryptProv

暗号化サービス プロバイダー (CSP) ハンドル。 CNG 関数 NCryptIsKeyHandle が呼び出され、共用体の選択が決定されます。

DUMMYUNIONNAME.hNCryptKey

CNG 暗号化サービス プロバイダー (CSP) へのハンドル。 CNG 関数 NCryptIsKeyHandle は、共用体の選択を決定するために呼び出されます。 新しい暗号化アルゴリズムは、CNG 関数でのみサポートされます。 CNG 関数 NCryptTranslateHandle は、必要に応じて CryptoAPI hCryptProv の選択を変換するために呼び出されます。 アプリケーションは、NCryptOpenKey 関数から返される CNG CSP ハンドルである hNCryptKey メンバーに渡すことをお勧めします。

dwKeySpec

使用する秘密キー。 hNCryptKey メンバーを使用する場合、このメンバーは使用されません。

既定のプロバイダーには、次の dwKeySpec 値が定義されています。

説明
AT_KEYEXCHANGE
セッション キーの暗号化と暗号化解除に使用されるキー。
AT_SIGNATURE
デジタル署名の作成と検証に使用されるキー。
 

dwKeySpec が 0 の場合、既定のAT_KEYEXCHANGEが使用されます。

dwRecipientIndex

hCryptProv 秘密キーに関連付けられているメッセージ内の受信者のインデックス。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header wincrypt.h

関連項目

CryptMsgControl