System.Security.Cryptography.Pkcs Namespace

The System.Security.Cryptography.Pkcs namespace provides programming elements for Public Key Cryptography Standards (PKCS), including methods for signing data, exchanging keys, requesting certificates, public key encryption and decryption, and other security functions.

Remarks

 

Classes

TypeReason
AlgorithmIdentifier

The AlgorithmIdentifier class defines the algorithm used for a cryptographic operation.

CmsRecipient

The CmsRecipient class defines the recipient of a CMS/PKCS #7 message.

CmsRecipientCollection

The CmsRecipientCollection class represents a set of CmsRecipient objects. CmsRecipientCollection implements the ICollection interface.

CmsRecipientEnumerator

The CmsRecipientEnumerator class provides enumeration functionality for the CmsRecipientCollection collection. CmsRecipientEnumerator implements the IEnumerator interface.

CmsSigner

The CmsSigner class provides signing functionality.

ContentInfo

The ContentInfo class represents the CMS/PKCS #7 ContentInfo data structure as defined in the CMS/PKCS #7 standards document. This data structure is the basis for all CMS/PKCS #7 messages.

EnvelopedCms

The EnvelopedCms class represents a CMS/PKCS #7 structure for enveloped data.

KeyAgreeKeyChoice

The KeyAgreeKeyChoice enumeration defines the type of key used in a key agreement protocol.

KeyAgreeRecipientInfo

The KeyAgreeRecipientInfo class defines key agreement recipient information. Key agreement algorithms typically use the Diffie-Hellman key agreement algorithm, in which the two parties that establish a shared cryptographic key both take part in its generation and, by definition, agree on that key. This is in contrast to key transport algorithms, in which one party generates the key unilaterally and sends, or transports it, to the other party.

KeyTransRecipientInfo

The KeyTransRecipientInfo class defines key transport recipient information. Key transport algorithms typically use the RSA algorithm, in which an originator establishes a shared cryptographic key with a recipient by generating that key and then transporting it to the recipient. This is in contrast to key agreement algorithms, in which the two parties that will be using a cryptographic key both take part in its generation, thereby mutually agreeing to that key.

Pkcs9AttributeObject

Represents an attribute used for CMS/PKCS #7 and PKCS #9 operations.

Pkcs9ContentType

The Pkcs9ContentType class defines the type of the content of a CMS/PKCS #7 message.

Pkcs9DocumentDescription

The Pkcs9DocumentDescription class defines the description of the content of a CMS/PKCS #7 message.

Pkcs9DocumentName

The Pkcs9DocumentName class defines the name of a CMS/PKCS #7 message.

Pkcs9MessageDigest

The Pkcs9MessageDigest class defines the message digest of a CMS/PKCS #7 message.

Pkcs9SigningTime

The Pkcs9SigningTime class defines the signing date and time of a signature. A Pkcs9SigningTime object can be used as an authenticated attribute of a CmsSigner object when an authenticated date and time are to accompany a digital signature.

PublicKeyInfo

The PublicKeyInfo class represents information associated with a public key.

RecipientInfo

The RecipientInfo class represents information about a CMS/PKCS #7 message recipient. The RecipientInfo class is an abstract class inherited by the KeyAgreeRecipientInfo and KeyTransRecipientInfo classes.

RecipientInfoCollection

The RecipientInfoCollection class represents a collection of RecipientInfo objects. RecipientInfoCollection implements the ICollection interface.

RecipientInfoEnumerator

The RecipientInfoEnumerator class provides enumeration functionality for the RecipientInfoCollection collection. RecipientInfoEnumerator implements the IEnumerator interface.

RecipientInfoType

The RecipientInfoType enumeration defines the types of recipient information.

SignedCms

The SignedCms class enables signing and verifying of CMS/PKCS #7 messages.

SignerInfo

The SignerInfo class represents a signer associated with a SignedCms object that represents a CMS/PKCS #7 message.

SignerInfoCollection

The SignerInfoCollection class represents a collection of SignerInfo objects. SignerInfoCollection implements the ICollection interface.

SignerInfoEnumerator

The SignerInfoEnumerator class provides enumeration functionality for the SignerInfoCollection collection. SignerInfoEnumerator implements the IEnumerator interface.

SubjectIdentifier

The SubjectIdentifier class defines the type of the identifier of a subject, such as a CmsSigner or a CmsRecipient. The subject can be identified by the certificate issuer and serial number or the subject key.

SubjectIdentifierOrKey

The SubjectIdentifierOrKey class defines the type of the identifier of a subject, such as a CmsSigner or a CmsRecipient. The subject can be identified by the certificate issuer and serial number, the hash of the subject key, or the subject key.

SubjectIdentifierOrKeyType

The SubjectIdentifierOrKeyType enumeration defines how a subject is identified.

SubjectIdentifierType

The SubjectIdentifierType enumeration defines the type of subject identifier.