Cryptography Structures (Compact 2013)

3/28/2014

The following table shows the Cryptography structures with a description of the purpose of each.

Note

Some of the structure names below link to the appropriate Windows based desktop structure description on MSDN.

Structure

Description

AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA

Holds policy information used in the verification of certificate chains for files.

AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS

Holds additional Authenticode policy information for chain verification of files.

AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA

Contains time stamp policy information that can be used in certificate chain verification of files.

BLOB (Cryptography)

Used for an arbitrary array of bytes.

CERT_ACCESS_DESCRIPTION

Contains one instance of information about how to access certification authority information and services for the issuer of the certificate in which the CERT_AUTHORITY_INFO_ACCESS extension appears.

CERT_ALT_NAME_ENTRY

Contains an alternative name in one of a variety of name forms.

CERT_ALT_NAME_INFO

Used in encoding and decoding extensions for subject or issuer certificates.

CERT_AUTHORITY_INFO_ACCESS

Appears as a certificate extension and indicates how to access certification authority information and services for the issuer of that certificate.

CERT_AUTHORITY_KEY_ID_INFO

Identifies the key used to sign a certificate.

CERT_AUTHORITY_KEY_ID2_INFO

Identifies the key used to sign a certificate.

CERT_BASIC_CONSTRAINTS_INFO

Contains information that indicates whether the certified subject can act as a certification authority, an end entity, or both.

CERT_BASIC_CONSTRAINTS2_INFO

Contains information that indicates whether the certified subject can act as a certification authority or as an end entity.

CERT_CHAIN_CONTEXT

Contains an array of simple certificate chains and a trust status structure that indicates summary validity data on all of the connected simple chains.

CERT_CHAIN_ELEMENT

A single element in a simple certificate chain.

CERT_CHAIN_ENGINE_CONFIG

Sets parameters for building a nondefault certificate chain engine.

CERT_CHAIN_PARA

Establishes the searching and matching criteria that are used to build a certificate chain.

CERT_CHAIN_POLICY_PARA

Contains information used in the CertVerifyCertificateChainPolicy function to establish policy criteria for the verification of certificate chains.

CERT_CHAIN_POLICY_STATUS

Holds certificate chain status information returned by the CertVerifyCertificateChainPolicy function when the certificate chains are validated.

CERT_CONTEXT

Contains both the encoded and decoded representations of a certificate.

CERT_EXTENSION

Contains the extension information for a certificate.

CERT_ID

Provides a flexible way to uniquely identify a certificate.

CERT_INFO

Contains the certificate information.

CERT_ISSUER_SERIAL_NUMBER

Acts as a unique identifier of a certificate that contains the issuer and issuer serial number for a certificate.

CERT_KEY_ATTRIBUTES_INFO

Contains optional additional information about the public key being certified.

CERT_KEY_CONTEXT

Contains data for the pvData member of a Value member of the CERT_EXTENSION structure associated with a CERT_KEY_CONTEXT_PROP_ID property.

CERT_KEY_USAGE_RESTRICTION_INFO

Contains restrictions imposed on the usage of a certificate public key.

CERT_KEYGEN_REQUEST_INFO

Contains information stored in a key generation request.

CERT_NAME_INFO

Contains subject or issuer names.

CERT_POLICIES_INFO

Contains an array of the CERT_POLICY_INFO structure.

CERT_POLICY_ID

Contains a list of certificate policies that the certificate expressly supports, together with optional qualifier information that pertains to these policies.

CERT_POLICY_INFO

Contains an object identifier that specifies a policy and an optional array of policy qualifiers.

CERT_POLICY_QUALIFIER_INFO

Contains an object identifier that specifies the qualifier and qualifier-specific supplemental information.

CERT_PRIVATE_KEY_VALIDITY

Indicates a valid time span for the private key that corresponds to a certificate public key.

CERT_PUBLIC_KEY_INFO

Contains a public key and its algorithm.

CERT_RDN

Contains a relative distinguished name (RDN) that consists of an array of CERT_RDN_ATTR structures.

CERT_RDN_ATTR

Contains a single attribute of an RDN.

CERT_REQUEST_INFO

Contains information for a certificate request.

CERT_SIGNED_CONTENT_INFO

Contains encoded content to be signed and a BLOB (Cryptography) structure to hold the signature.

CERT_SIMPLE_CHAIN

Contains an array of chain elements and a summary trust status for the chain that the array represents.

CERT_SYSTEM_STORE_INFO

Contains information used by functions that work with system stores.

CERT_SYSTEM_STORE_RELOCATE_PARA

Contains data to be passed to the CertOpenStore function when that function's dwFlags parameter is set to CERT_SYSTEM_STORE_RELOCATE_FLAG.

CERT_TRUST_LIST_INFO

Indicates a valid use of a certificate trust list (CTL).

CERT_TRUST_STATUS

Contains trust information about a certificate in a certificate chain, summary trust information about a simple chain of certificates, or summary information about an array of simple chains.

CERT_USAGE_MATCH

Provides parameters for finding issuer certificates used to build a certificate chain.

CMSG_CMS_RECIPIENT_INFO

Used with the CryptMsgGetParam function to get information about a key transport, key agreement, or mail list envelope message recipient.

CMSG_CMS_SIGNER_INFO

Contains the content of the defined SignerInfo in signed, or in signed and enveloped messages.

CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA

Used to add an unauthenticated attribute to a signer of a signed message.

CMSG_CTRL_DECRYPT_PARA

Contains information used to decrypt an enveloped message for a key transport recipient.

CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA

Used to delete an unauthenticated attribute of a signer of a signed message.

CMSG_CTRL_KEY_AGREE_DECRYPT_PARA

Contains information about a key agreement recipient.

CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA

Contains information that is used to verify a message signature. It contains the signer index and signer public key.

CMSG_ENVELOPED_ENCODE_INFO

Contains information that is needed to encode an enveloped message.

CMSG_HASHED_ENCODE_INFO

Used with hashed messages.

CMSG_KEY_TRANS_RECIPIENT_INFO

Contains information that is used in key transport algorithms.

CMSG_MAIL_LIST_RECIPIENT_INFO

Contains information that is used for previously distributed symmetric key-encryption keys (KEK).

CMSG_SIGNED_ENCODE_INFO

Contains information to be passed to CryptMsgOpenToEncode if dwMsgType is CMSG_SIGNED.

CMSG_SIGNER_ENCODE_INFO

Contains signer information.

CMSG_SIGNER_INFO

Contains the content of the PKCS #7 defined SignerInfo in signed messages.

CMSG_STREAM_INFO

Used to enable processing stream data rather than single block processing.

CRYPT_ALGORITHM_IDENTIFIER

Specifies an algorithm.

CRYPT_ATTRIBUTE

Specifies an attribute that has one or more values.

CRYPT_ATTRIBUTES

Contains an array of attributes.

CRYPT_BIT_BLOB

Contains an array of bytes.

CRYPT_DECRYPT_MESSAGE_PARA

Contains information for decrypting messages.

CRYPT_ENCODE_PARA

Provides access to memory allocation and memory that frees callback functions.

CRYPT_ENCRYPT_MESSAGE_PARA

Contains information used to encrypt messages.

CRYPT_HASH_MESSAGE_PARA

Contains data for hashing messages.

CRYPT_KEY_PROV_INFO

Contains fields that are passed as arguments to the CryptAcquireContext function to acquire a handle to a particular key container within a particular cryptographic service provider (CSP) or to create or destroy a key container.

CRYPT_KEY_PROV_PARAM

Contains data to be passed as the arguments to the CryptSetProvParam function.

CRYPT_KEY_SIGN_MESSAGE_PARA

Contains information about the CSP and algorithms used to sign a message.

CRYPT_KEY_VERIFY_MESSAGE_PARA

Contains information needed to verify signed messages without a certificate for the signer.

CRYPT_INTEGER_BLOB

Contains an arbitrary array of bytes. The structure definition includes aliases appropriate to the various functions that use it.

CRYPT_OID_FUNC_ENTRY

Contains an object identifier (OID) and a pointer to its related function.

CRYPT_OID_INFO

Contains information about an OID.

CRYPT_SIGN_MESSAGE_PARA

Contains information for signing messages using a specified signing certificate context.

CRYPT_VERIFY_MESSAGE_PARA

Contains information needed to verify signed messages.

CRYPTOAPI_BLOB

Used for an arbitrary array of bytes. It provides flexibility for objects that can contain various data types.

CTL_USAGE

Contains an array of OIDs for CTL extensions.

HMAC_INFO

Specifies the hash algorithm and the inner and outer strings to use to calculate the Hash-based Message Authentication Code (HMAC) hash.

PROV_ENUMALGS

Holds information about the algorithms supported by a CSP.

PROV_ENUMALGS_EX

Holds information about the algorithms supported by a CSP.

PUBLICKEYSTRUC

Also known as the BLOBHEADER structure, indicates a key BLOB (Cryptography) type and the algorithm that the key uses.

RSAPUBKEY

Contains information specific to the particular public key contained in the key BLOB.

SSL_EXTRA_CERT_CHAIN_POLICY_PARA

Also identified by the name HTTPSPolicyCallbackData, holds policy information used in the verification of Secure Sockets Layer (SSL) client/server certificate chains.

VTableProvStruc

Contains pointers to callback functions that can be used by CSP functions.

See Also

Reference

Cryptography Reference