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.

Classes

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

Represents a potential signer for a CMS/PKCS#7 signed message.

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

Represents a CMS/PKCS#7 structure for enveloped data.

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.

Pkcs12Builder

Enables the creation of PKCS#12 PFX data values. This class cannot be inherited.

Pkcs12CertBag

Represents the PKCS#12 CertBag. This class cannot be inherited.

Pkcs12Info

Represents the data from PKCS#12 PFX contents. This class cannot be inherited.

Pkcs12KeyBag

Represents the KeyBag from PKCS#12, a container whose contents are a PKCS#8 PrivateKeyInfo. This class cannot be inherited.

Pkcs12SafeBag

Defines the core behavior of a SafeBag value from the PKCS#12 specification and provides a base for derived classes.

Pkcs12SafeContents

Represents a PKCS#12 SafeContents value. This class cannot be inherited.

Pkcs12SafeContentsBag

Represents the SafeContentsBag from PKCS#12, a container whose contents are a PKCS#12 SafeContents value. This class cannot be inherited.

Pkcs12SecretBag

Represents the SecretBag from PKCS#12, a container whose contents are arbitrary data with a type identifier. This class cannot be inherited.

Pkcs12ShroudedKeyBag

Represents the ShroudedKeyBag from PKCS#12, a container whose contents are a PKCS#8 EncryptedPrivateKeyInfo. This class cannot be inherited.

Pkcs8PrivateKeyInfo

Enables the inspection of and creation of PKCS#8 PrivateKeyInfo and EncryptedPrivateKeyInfo values. This class cannot be inherited.

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.

Pkcs9LocalKeyId

Represents the LocalKeyId attribute from PKCS#9.

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.

Rfc3161TimestampRequest
Rfc3161TimestampToken
Rfc3161TimestampTokenInfo
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.

Enums

KeyAgreeKeyChoice

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

Pkcs12ConfidentialityMode

Represents the kind of encryption associated with a PKCS#12 SafeContents value.

Pkcs12IntegrityMode

Represents the type of anti-tampering applied to a PKCS#12 PFX value.

RecipientInfoType

The RecipientInfoType enumeration defines the types of recipient information.

SubjectIdentifierOrKeyType

The SubjectIdentifierOrKeyType enumeration defines how a subject is identified.

SubjectIdentifierType

The SubjectIdentifierType enumeration defines the type of subject identifier.