Click or drag to resize
MimeKit

DefaultSecureMimeContext Class

A default SecureMimeContext implementation that uses an SQLite database as a certificate and private key store.
Inheritance Hierarchy

Namespace: MimeKit.Cryptography
Assembly: MimeKit (in MimeKit.dll) Version: 4.3.0
Syntax
C#
public class DefaultSecureMimeContext : BouncyCastleSecureMimeContext

The DefaultSecureMimeContext type exposes the following members.

Constructors
 NameDescription
Public methodDefaultSecureMimeContext Initialize a new instance of the DefaultSecureMimeContext class.
Public methodDefaultSecureMimeContext(IX509CertificateDatabase) Initialize a new instance of the DefaultSecureMimeContext class.
Public methodDefaultSecureMimeContext(String) Initialize a new instance of the DefaultSecureMimeContext class.
Public methodDefaultSecureMimeContext(IX509CertificateDatabase, SecureRandom) Initialize a new instance of the DefaultSecureMimeContext class.
Public methodDefaultSecureMimeContext(String, SecureRandom) Initialize a new instance of the DefaultSecureMimeContext class.
Public methodDefaultSecureMimeContext(String, String) Initialize a new instance of the DefaultSecureMimeContext class.
Public methodDefaultSecureMimeContext(String, String, SecureRandom) Initialize a new instance of the DefaultSecureMimeContext class.
Top
Properties
 NameDescription
Public propertyCheckCertificateRevocation Get or set whether or not certificate revocation lists should be downloaded when verifying signatures.
(Inherited from BouncyCastleSecureMimeContext)
Protected propertyDigestAlgorithmRank Get the preferred rank order for the digest algorithms; from the most preferred to the least.
(Inherited from CryptographyContext)
Public propertyEnabledDigestAlgorithms Get the enabled digest algorithms in ranked order.
(Inherited from CryptographyContext)
Public propertyEnabledEncryptionAlgorithms Get the enabled encryption algorithms in ranked order.
(Inherited from CryptographyContext)
Protected propertyEncryptionAlgorithmRank Get the preferred rank order for the encryption algorithms; from the most preferred to the least.
(Inherited from CryptographyContext)
Public propertyEncryptionProtocol Get the encryption protocol.
(Inherited from SecureMimeContext)
Public propertyKeyExchangeProtocol Get the key exchange protocol.
(Inherited from SecureMimeContext)
Public propertyPrepareBeforeSigning Get or set whether MimeEntitys should be prepared before signing.
(Inherited from CryptographyContext)
Protected propertyRandomNumberGenerator Get the pseudo-random number generator.
(Inherited from BouncyCastleSecureMimeContext)
Public propertySignatureProtocol Get the signature protocol.
(Inherited from SecureMimeContext)
Top
Methods
 NameDescription
Protected methodBuildCertificateChain Build a certificate chain.
(Inherited from BouncyCastleSecureMimeContext)
Public methodCanEncrypt Check whether or not the cryptography context can encrypt to a particular recipient.
(Overrides CryptographyContextCanEncrypt(MailboxAddress, CancellationToken))
Public methodCanEncryptAsync Asynchronously check whether or not the cryptography context can encrypt to a particular recipient.
(Inherited from CryptographyContext)
Public methodCanSign Check whether or not a particular mailbox address can be used for signing.
(Overrides CryptographyContextCanSign(MailboxAddress, CancellationToken))
Public methodCanSignAsync Asynchronously check whether or not a particular mailbox address can be used for signing.
(Inherited from CryptographyContext)
Public methodCompress Compress the specified stream.
(Inherited from SecureMimeContext)
Public methodCompressAsync Asynchronously compress the specified stream.
(Inherited from SecureMimeContext)
Public methodDecompress Decompress the specified stream.
(Inherited from SecureMimeContext)
Public methodDecompressAsync Asynchronously decompress the specified stream.
(Inherited from SecureMimeContext)
Public methodDecompressTo Decompress the specified stream to an output stream.
(Inherited from SecureMimeContext)
Public methodDecompressToAsync Asynchronously decompress the specified stream to an output stream.
(Inherited from SecureMimeContext)
Public methodDecrypt Decrypt the specified encryptedData.
(Inherited from BouncyCastleSecureMimeContext)
Public methodDecryptAsync Asynchronously decrypt the specified encryptedData.
(Inherited from BouncyCastleSecureMimeContext)
Public methodDecryptTo Decrypt the specified encryptedData to an output stream.
(Inherited from BouncyCastleSecureMimeContext)
Public methodDecryptToAsync Asynchronously decrypt the specified encryptedData to an output stream.
(Inherited from BouncyCastleSecureMimeContext)
Public methodDisable(DigestAlgorithm) Disable the digest algorithm.
(Inherited from CryptographyContext)
Public methodDisable(EncryptionAlgorithm) Disable the encryption algorithm.
(Inherited from CryptographyContext)
Public methodDispose Releases all resources used by the CryptographyContext object.
(Inherited from CryptographyContext)
Protected methodDispose(Boolean) Releases the unmanaged resources used by the DefaultSecureMimeContext and optionally releases the managed resources.
(Overrides BouncyCastleSecureMimeContextDispose(Boolean))
Public methodEnable(DigestAlgorithm) Enable the digest algorithm.
(Inherited from CryptographyContext)
Public methodEnable(EncryptionAlgorithm) Enable the encryption algorithm.
(Inherited from CryptographyContext)
Public methodEncapsulatedSign(CmsSigner, Stream, CancellationToken) Sign and encapsulate the content using the specified signer.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEncapsulatedSign(MailboxAddress, DigestAlgorithm, Stream, CancellationToken) Sign and encapsulate the content using the specified signer and digest algorithm.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEncapsulatedSignAsync(CmsSigner, Stream, CancellationToken) Asynchronously signs and encapsulate the content using the specified signer.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEncapsulatedSignAsync(MailboxAddress, DigestAlgorithm, Stream, CancellationToken) Asynchronously sign and encapsulate the content using the specified signer and digest algorithm.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEncrypt(CmsRecipientCollection, Stream, CancellationToken) Encrypt the specified content for the specified recipients.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEncrypt(IEnumerableMailboxAddress, Stream, CancellationToken) Encrypt the specified content for the specified recipients.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEncryptAsync(CmsRecipientCollection, Stream, CancellationToken) Asynchronously encrypt the specified content for the specified recipients.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEncryptAsync(IEnumerableMailboxAddress, Stream, CancellationToken) Asynchronously encrypt the specified content for the specified recipients.
(Inherited from BouncyCastleSecureMimeContext)
Public methodEquals
(Inherited from Object)
Public methodExport Export the certificates for the specified mailboxes.
(Inherited from BouncyCastleSecureMimeContext)
Public methodExportAsync Asynchronously export the certificates for the specified mailboxes.
(Inherited from BouncyCastleSecureMimeContext)
Protected methodFinalize
(Inherited from Object)
Protected methodGetCertificate Gets the X.509 certificate matching the specified selector.
(Overrides BouncyCastleSecureMimeContextGetCertificate(ISelectorX509Certificate))
Protected methodGetCertificateRevocationLists Gets the certificate revocation lists.
(Overrides BouncyCastleSecureMimeContextGetCertificateRevocationLists)
Protected methodGetCmsRecipient Gets the CmsRecipient for the specified mailbox.
(Overrides BouncyCastleSecureMimeContextGetCmsRecipient(MailboxAddress))
Protected methodGetCmsRecipients Get a collection of CmsRecipients for the specified mailboxes.
(Inherited from BouncyCastleSecureMimeContext)
Protected methodGetCmsSigner Gets the CmsSigner for the specified mailbox.
(Overrides BouncyCastleSecureMimeContextGetCmsSigner(MailboxAddress, DigestAlgorithm))
Public methodGetDigestAlgorithm Get the digest algorithm from the micalg parameter value in a multipart/signed part.
(Inherited from SecureMimeContext)
Public methodGetDigestAlgorithmName Get the string name of the digest algorithm for use with the micalg parameter of a multipart/signed part.
(Inherited from SecureMimeContext)
Public methodGetHashCode
(Inherited from Object)
Protected methodGetIntermediateCertificates Gets the intermediate certificates.
(Overrides BouncyCastleSecureMimeContextGetIntermediateCertificates)
Protected methodGetNextCertificateRevocationListUpdate Get the date & time for the next scheduled certificate revocation list update for the specified issuer.
(Overrides BouncyCastleSecureMimeContextGetNextCertificateRevocationListUpdate(X509Name))
Protected methodGetPreferredEncryptionAlgorithm Get the preferred encryption algorithm to use for encrypting to the specified recipients.
(Inherited from SecureMimeContext)
Protected methodGetPrivateKey Gets the private key for the certificate matching the specified selector.
(Overrides BouncyCastleSecureMimeContextGetPrivateKey(ISelectorX509Certificate))
Protected methodGetTrustedAnchors Gets the trusted anchors.
(Overrides BouncyCastleSecureMimeContextGetTrustedAnchors)
Public methodGetType
(Inherited from Object)
Public methodImport(Stream, CancellationToken) Import certificates (as from a certs-only application/pkcs-mime part) from the specified stream.
(Inherited from SecureMimeContext)
Public methodImport(X509Certificate, CancellationToken) Import a certificate.
(Overrides SecureMimeContextImport(X509Certificate, CancellationToken))
Public methodImport(X509Certificate2, CancellationToken) Import a certificate.
(Overrides SecureMimeContextImport(X509Certificate2, CancellationToken))
Public methodImport(X509Crl, CancellationToken) Imports a certificate revocation list.
(Overrides SecureMimeContextImport(X509Crl, CancellationToken))
Public methodImport(Stream, Boolean, CancellationToken) Import a DER-encoded certificate stream.
Public methodImport(Stream, String, CancellationToken) Imports certificates and keys from a pkcs12-encoded stream.
(Overrides SecureMimeContextImport(Stream, String, CancellationToken))
Public methodImport(String, String, CancellationToken) Imports certificates and keys from a pkcs12 file.
(Inherited from SecureMimeContext)
Public methodImport(X509Certificate, Boolean, CancellationToken) Import a certificate.
Public methodImportAsync(Stream, CancellationToken) Asynchronously import certificates (as from a certs-only application/pkcs-mime part) from the specified stream.
(Inherited from SecureMimeContext)
Public methodImportAsync(X509Certificate, CancellationToken) Asynchronously import a certificate.
(Inherited from SecureMimeContext)
Public methodImportAsync(X509Certificate2, CancellationToken) Asynchronously import a certificate.
(Inherited from SecureMimeContext)
Public methodImportAsync(X509Crl, CancellationToken) Asynchronously import a certificate revocation list.
(Inherited from SecureMimeContext)
Public methodImportAsync(Stream, Boolean, CancellationToken) Asynchronously import a DER-encoded certificate stream.
Public methodImportAsync(Stream, String, CancellationToken) Asynchronously imports certificates and keys from a pkcs12-encoded stream.
(Overrides SecureMimeContextImportAsync(Stream, String, CancellationToken))
Public methodImportAsync(String, String, CancellationToken) Asynchronously imports certificates and keys from a pkcs12 file.
(Inherited from SecureMimeContext)
Public methodImportAsync(X509Certificate, Boolean, CancellationToken) Asynchronously import a certificate.
Public methodIsEnabled(DigestAlgorithm) Check whether the specified digest algorithm is enabled.
(Inherited from CryptographyContext)
Public methodIsEnabled(EncryptionAlgorithm) Check whether the specified encryption algorithm is enabled.
(Inherited from CryptographyContext)
Protected methodMemberwiseClone
(Inherited from Object)
Public methodSign(CmsSigner, Stream, CancellationToken) Sign the content using the specified signer.
(Inherited from BouncyCastleSecureMimeContext)
Public methodSign(MailboxAddress, DigestAlgorithm, Stream, CancellationToken) Sign the content using the specified signer and digest algorithm.
(Inherited from BouncyCastleSecureMimeContext)
Public methodSignAsync(CmsSigner, Stream, CancellationToken) Asynchronously sign the content using the specified signer.
(Inherited from BouncyCastleSecureMimeContext)
Public methodSignAsync(MailboxAddress, DigestAlgorithm, Stream, CancellationToken) Asynchronously sign the content using the specified signer and digest algorithm.
(Inherited from BouncyCastleSecureMimeContext)
Public methodSupports Check whether or not the specified protocol is supported by the CryptographyContext.
(Inherited from SecureMimeContext)
Public methodToString
(Inherited from Object)
Protected methodUpdateSecureMimeCapabilities Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
(Overrides BouncyCastleSecureMimeContextUpdateSecureMimeCapabilities(X509Certificate, EncryptionAlgorithm, DateTime))
Public methodVerify(Stream, DigitalSignatureCollection, CancellationToken) Verify the digital signatures of the specified signed data and extract the original content.
(Inherited from BouncyCastleSecureMimeContext)
Public methodVerify(Stream, MimeEntity, CancellationToken) Verify the digital signatures of the specified signed data and extract the original content.
(Inherited from BouncyCastleSecureMimeContext)
Public methodVerify(Stream, Stream, CancellationToken) Verify the specified content using the detached signature data.
(Inherited from BouncyCastleSecureMimeContext)
Public methodVerifyAsync Asynchronously verify the specified content using the detached signature data.
(Inherited from BouncyCastleSecureMimeContext)
Top
Fields
 NameDescription
Public fieldStatic memberDefaultDatabasePath The default database path for certificates, private keys and CRLs.
Top
Remarks
The default S/MIME context is designed to be usable on any platform where there exists a .NET runtime by storing certificates, CRLs, and (encrypted) private keys in a SQL database.
See Also