共用方式為


CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO結構 (wincrypt.h)

CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO結構包含郵件收件者的編碼金鑰傳輸資訊。

語法

typedef struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
  DWORD                      cbSize;
  CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
  void                       *pvKeyEncryptionAuxInfo;
  HCRYPTPROV_LEGACY          hCryptProv;
  CRYPT_BIT_BLOB             RecipientPublicKey;
  CERT_ID                    RecipientId;
} CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;

成員

cbSize

DWORD 值,表示 結構的大小,以位元組為單位。

KeyEncryptionAlgorithm

CRYPT_ALGORITHM_IDENTIFIER值,識別用來加密內容加密密鑰的金鑰加密演算法和任何相關聯的參數。

若為 RSA AES,CRYPT_ALGORITHM_IDENTIFIER 結構的 pszObjId 成員應設定為 szOID_RSAES_OAEP。 CRYPT_ALGORITHM_IDENTIFIER 結構的Parameters成員應該設定為編碼PKCS_RSAES_OAEP_PARAMETERS。 如果 Parameters.cbData 成員等於零,則會使用和編碼預設參數。

pvKeyEncryptionAuxInfo

結構的 void 指標,其中包含加密的其他資訊。 結構的格式取決於 KeyEncryptionAlgorithm 所指示的演算法。

hCryptProv

未使用這個成員,而且應該設定為 NULL

Windows Server 2003 和 Windows XP: 用來執行收件者金鑰加密和導出的 HCRYPTPROV 值。 不會使用提供者的私鑰。 如果 hCryptProvNULL,則會使用CMSG_ENVELOPED_ENCODE_INFO中指定的 HCRYPTPROV。請注意,即使在傳遞至 CryptMsgOpenToEncodedwFlags 參數中設定了CMSG_CRYPT_RELEASE_CONTEXT_FLAG,也不會釋放此 HCRYPTPROV

RecipientPublicKey

包含收件者公鑰的 CRYPT_BIT_BLOB 變數。

RecipientId

識別收件者的 CERT_ID 值。 CMS 支援 KEY_IDENTIFIER 和 ISSUER_SERIAL_NUMBER CERT_ID。 PKCS #7 1.5 版僅支援 ISSUER_SERIAL_NUMBER CERT_ID

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 wincrypt.h