CRYPT_ECC_CMS_SHARED_INFO structure (wincrypt.h)

The CRYPT_ECC_CMS_SHARED_INFO structure represents key-encryption key information when using Elliptic Curve Cryptography (ECC) in the Cryptographic Message Syntax (CMS) EnvelopedData content type. This structure is used in a key-exchange scenario for exchange of keys to encrypt and decrypt content. A pointer to this structure can be used in the pvStructInfo parameter of CryptEncodeObject or CryptDecodeObject and is specified by the constant ECC_CMS_SHARED_INFO. For more information, see Constants for CryptEncodeObject and CryptDecodeObject.

Syntax

typedef struct _CRYPT_ECC_CMS_SHARED_INFO {
  CRYPT_ALGORITHM_IDENTIFIER Algorithm;
  CRYPT_DATA_BLOB            EntityUInfo;
  BYTE                       rgbSuppPubInfo[CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH];
} CRYPT_ECC_CMS_SHARED_INFO, *PCRYPT_ECC_CMS_SHARED_INFO;

Members

Algorithm

A CRYPT_ALGORITHM_IDENTIFIER structure that contains the object identifier of the key-encryption algorithm used to wrap the content-encryption key.

EntityUInfo

An optional member that contains additional user keying material as an octet string supplied by the sending agent.

rgbSuppPubInfo[CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH]

An array of four bytes that represent the length, in bits, of the key-encryption key. The byte array is in little-endian order.

The following table contains the definition of the array dimension.

CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH (4)

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header wincrypt.h

See also

RFC 3278