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.
The AlgorithmIdentifier class defines the algorithm used for a cryptographic operation.
The CmsRecipient class defines the recipient of a CMS/PKCS #7 message.
The CmsSigner class provides signing functionality.
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.
The EnvelopedCms class represents a CMS/PKCS #7 structure for enveloped data.
The KeyAgreeKeyChoice enumeration defines the type of key used in a key agreement protocol.
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.
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.
Represents an attribute used for CMS/PKCS #7 and PKCS #9 operations.
The Pkcs9ContentType class defines the type of the content of a CMS/PKCS #7 message.
The Pkcs9DocumentDescription class defines the description of the content of a CMS/PKCS #7 message.
The Pkcs9DocumentName class defines the name of a CMS/PKCS #7 message.
The Pkcs9MessageDigest class defines the message digest of a CMS/PKCS #7 message.
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.
The PublicKeyInfo class represents information associated with a public key.
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.
The RecipientInfoType enumeration defines the types of recipient information.
The SignedCms class enables signing and verifying of CMS/PKCS #7 messages.
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.
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.
The SubjectIdentifierOrKeyType enumeration defines how a subject is identified.
The SubjectIdentifierType enumeration defines the type of subject identifier.