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.
Represents a potential signer for a CMS/PKCS#7 signed message.
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.
Represents a CMS/PKCS#7 structure for enveloped data.
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.
Enables the creation of PKCS#12 PFX data values. This class cannot be inherited.
Represents the PKCS#12 CertBag. This class cannot be inherited.
Represents the data from PKCS#12 PFX contents. This class cannot be inherited.
Represents the KeyBag from PKCS#12, a container whose contents are a PKCS#8 PrivateKeyInfo. This class cannot be inherited.
Defines the core behavior of a SafeBag value from the PKCS#12 specification and provides a base for derived classes.
Represents a PKCS#12 SafeContents value. This class cannot be inherited.
Represents the SafeContentsBag from PKCS#12, a container whose contents are a PKCS#12 SafeContents value. This class cannot be inherited.
Represents the SecretBag from PKCS#12, a container whose contents are arbitrary data with a type identifier. This class cannot be inherited.
Represents the ShroudedKeyBag from PKCS#12, a container whose contents are a PKCS#8 EncryptedPrivateKeyInfo. This class cannot be inherited.
Enables the inspection of and creation of PKCS#8 PrivateKeyInfo and EncryptedPrivateKeyInfo values. This class cannot be inherited.
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.
Represents the LocalKeyId attribute from PKCS#9.
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 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 KeyAgreeKeyChoice enumeration defines the type of key used in a key agreement protocol.
Represents the kind of encryption associated with a PKCS#12 SafeContents value.
Represents the type of anti-tampering applied to a PKCS#12 PFX value.
The RecipientInfoType enumeration defines the types of recipient information.
The SubjectIdentifierOrKeyType enumeration defines how a subject is identified.
The SubjectIdentifierType enumeration defines the type of subject identifier.