C# Class MimeKit.Cryptography.WindowsSecureMimeContext

An S/MIME cryptography context that uses Windows' System.Security.Cryptography.X509Certificates.X509Store.
An S/MIME cryptography context that uses Windows' System.Security.Cryptography.X509Certificates.X509Store.
Inheritance: MimeKit.Cryptography.SecureMimeContext
ファイルを表示 Open project: jstedfast/MimeKit Class Usage Examples

Public Methods

Method Description
Decrypt ( Stream encryptedData ) : MimeEntity

Decrypt the encrypted data.

Decrypt the encrypted data.

EncapsulatedSign ( MailboxAddress signer, DigestAlgorithm digestAlgo, Stream content ) : ApplicationPkcs7Mime

Sign and encapsulate the content using the specified signer.

Sign and encapsulate the content using the specified signer.

Import ( Org certificate ) : void

Import the specified certificate.

Import the specified certificate.

Import ( Stream stream, string password ) : void

Imports certificates and keys from a pkcs12-encoded stream.

Imports certificates and keys from a pkcs12-encoded stream.

Import ( X509Crl crl ) : void

Import the specified certificate revocation list.

Import the specified certificate revocation list.

Sign ( MailboxAddress signer, DigestAlgorithm digestAlgo, Stream content ) : MimePart

Sign the content using the specified signer.

Sign the content using the specified signer.

WindowsSecureMimeContext ( ) : System

Initializes a new instance of the MimeKit.Cryptography.WindowsSecureMimeContext class.

Constructs an S/MIME context using the current user's X.509 store location.

WindowsSecureMimeContext ( StoreLocation location ) : System

Initializes a new instance of the MimeKit.Cryptography.WindowsSecureMimeContext class.

Creates a new WindowsSecureMimeContext.

Protected Methods

Method Description
GetCertificate ( IX509Selector selector ) : X509Certificate

Gets the X.509 certificate based on the selector.

Gets the X.509 certificate based on the selector.

GetCertificateRevocationLists ( ) : IX509Store

Gets the certificate revocation lists.

Gets the certificate revocation lists.

GetCmsRecipient ( MailboxAddress mailbox ) : CmsRecipient

Gets the X.509 certificate associated with the MimeKit.MailboxAddress.

Gets the X.509 certificate associated with the MimeKit.MailboxAddress.

GetCmsSigner ( MailboxAddress mailbox, DigestAlgorithm digestAlgo ) : CmsSigner

Gets the cms signer for the specified MimeKit.MailboxAddress.

Gets the cms signer for the specified MimeKit.MailboxAddress.

GetIntermediateCertificates ( ) : IX509Store

Gets the intermediate certificates.

Gets the intermediate certificates.

GetPrivateKey ( IX509Selector selector ) : AsymmetricKeyParameter

Gets the private key based on the provided selector.

Gets the private key based on the provided selector.

GetTrustedAnchors ( ) : Org.BouncyCastle.Utilities.Collections.HashSet

Gets the trusted anchors.

Gets the trusted anchors.

UpdateSecureMimeCapabilities ( Org certificate, EncryptionAlgorithm algorithms, System.DateTime timestamp ) : void

Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.

Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.

Private Methods

Method Description
DecodeEncryptionAlgorithms ( byte rawData ) : EncryptionAlgorithm[]
GetCmsRecipientCertificate ( MailboxAddress mailbox ) : X509Certificate2
GetCmsSignerCertificate ( MailboxAddress mailbox ) : X509Certificate2
GetRealCmsRecipient ( MailboxAddress mailbox ) : CmsRecipient
GetRealCmsRecipients ( IEnumerable mailboxes ) : CmsRecipientCollection
GetRealCmsSigner ( MailboxAddress mailbox, DigestAlgorithm digestAlgo ) : System.Security.Cryptography.Pkcs.CmsSigner
ReadAllBytes ( Stream stream ) : byte[]

Method Details

Decrypt() public method

Decrypt the encrypted data.
Decrypt the encrypted data.
/// is null. /// /// An error occurred in the cryptographic message syntax subsystem. ///
public Decrypt ( Stream encryptedData ) : MimeEntity
encryptedData Stream The encrypted data.
return MimeEntity

EncapsulatedSign() public method

Sign and encapsulate the content using the specified signer.
Sign and encapsulate the content using the specified signer.
/// is null. /// -or- /// is null. /// /// is out of range. /// /// The specified is not supported by this context. /// /// A signing certificate could not be found for . /// /// An error occurred in the cryptographic message syntax subsystem. ///
public EncapsulatedSign ( MailboxAddress signer, DigestAlgorithm digestAlgo, Stream content ) : ApplicationPkcs7Mime
signer MailboxAddress The signer.
digestAlgo DigestAlgorithm The digest algorithm to use for signing.
content Stream The content.
return ApplicationPkcs7Mime

GetCertificate() protected method

Gets the X.509 certificate based on the selector.
Gets the X.509 certificate based on the selector.
protected GetCertificate ( IX509Selector selector ) : X509Certificate
selector IX509Selector The search criteria for the certificate.
return Org.BouncyCastle.X509.X509Certificate

GetCertificateRevocationLists() protected method

Gets the certificate revocation lists.
Gets the certificate revocation lists.
protected GetCertificateRevocationLists ( ) : IX509Store
return IX509Store

GetCmsRecipient() protected method

Gets the X.509 certificate associated with the MimeKit.MailboxAddress.
Gets the X.509 certificate associated with the MimeKit.MailboxAddress.
/// A certificate for the specified could not be found. ///
protected GetCmsRecipient ( MailboxAddress mailbox ) : CmsRecipient
mailbox MailboxAddress The mailbox.
return CmsRecipient

GetCmsSigner() protected method

Gets the cms signer for the specified MimeKit.MailboxAddress.
Gets the cms signer for the specified MimeKit.MailboxAddress.
/// A certificate for the specified could not be found. ///
protected GetCmsSigner ( MailboxAddress mailbox, DigestAlgorithm digestAlgo ) : CmsSigner
mailbox MailboxAddress The mailbox.
digestAlgo DigestAlgorithm The preferred digest algorithm.
return CmsSigner

GetIntermediateCertificates() protected method

Gets the intermediate certificates.
Gets the intermediate certificates.
protected GetIntermediateCertificates ( ) : IX509Store
return IX509Store

GetPrivateKey() protected method

Gets the private key based on the provided selector.
Gets the private key based on the provided selector.
protected GetPrivateKey ( IX509Selector selector ) : AsymmetricKeyParameter
selector IX509Selector The search criteria for the private key.
return Org.BouncyCastle.Crypto.AsymmetricKeyParameter

GetTrustedAnchors() protected method

Gets the trusted anchors.
Gets the trusted anchors.
protected GetTrustedAnchors ( ) : Org.BouncyCastle.Utilities.Collections.HashSet
return Org.BouncyCastle.Utilities.Collections.HashSet

Import() public method

Import the specified certificate.
Import the specified certificate.
/// is null. ///
public Import ( Org certificate ) : void
certificate Org The certificate.
return void

Import() public method

Imports certificates and keys from a pkcs12-encoded stream.
Imports certificates and keys from a pkcs12-encoded stream.
/// is null. /// -or- /// is null. /// /// Importing keys is not supported by this cryptography context. ///
public Import ( Stream stream, string password ) : void
stream Stream The raw certificate and key data.
password string The password to unlock the stream.
return void

Import() public method

Import the specified certificate revocation list.
Import the specified certificate revocation list.
/// is null. ///
public Import ( X509Crl crl ) : void
crl Org.BouncyCastle.X509.X509Crl The certificate revocation list.
return void

Sign() public method

Sign the content using the specified signer.
Sign the content using the specified signer.
/// is null. /// -or- /// is null. /// /// is out of range. /// /// The specified is not supported by this context. /// /// A signing certificate could not be found for . /// /// An error occurred in the cryptographic message syntax subsystem. ///
public Sign ( MailboxAddress signer, DigestAlgorithm digestAlgo, Stream content ) : MimePart
signer MailboxAddress The signer.
digestAlgo DigestAlgorithm The digest algorithm to use for signing.
content Stream The content.
return MimePart

UpdateSecureMimeCapabilities() protected method

Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
Updates the known S/MIME capabilities of the client used by the recipient that owns the specified certificate.
protected UpdateSecureMimeCapabilities ( Org certificate, EncryptionAlgorithm algorithms, System.DateTime timestamp ) : void
certificate Org The certificate.
algorithms EncryptionAlgorithm The encryption algorithm capabilities of the client (in preferred order).
timestamp System.DateTime The timestamp.
return void

WindowsSecureMimeContext() public method

Initializes a new instance of the MimeKit.Cryptography.WindowsSecureMimeContext class.
Constructs an S/MIME context using the current user's X.509 store location.
public WindowsSecureMimeContext ( ) : System
return System

WindowsSecureMimeContext() public method

Initializes a new instance of the MimeKit.Cryptography.WindowsSecureMimeContext class.
Creates a new WindowsSecureMimeContext.
public WindowsSecureMimeContext ( StoreLocation location ) : System
location StoreLocation The X.509 store location.
return System