API Reference

Class

EmailSmime

Namespace OfficeIMO.Email
Assembly OfficeIMO.Email
Modifiers static

Thin S/MIME verification and decryption orchestration over the shared OfficeIMO security engine.

Inheritance

  • Object
  • EmailSmime

Methods

public static EmailSmimeDecryptionResult Decrypt(EmailDocument document, X509Certificate2 recipientCertificate, IOfficeSecurityProvider securityProvider, CmsEnvelopeOptions options = null, EmailReaderOptions contentReaderOptions = null) #
Returns: EmailSmimeDecryptionResult

Decrypts opaque S/MIME EnvelopedData for a matching recipient certificate.

Parameters

document OfficeIMO.Email.EmailDocument requiredposition: 0
recipientCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 1
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 2
options OfficeIMO.Security.CmsEnvelopeOptions = null optionalposition: 3
contentReaderOptions OfficeIMO.Email.EmailReaderOptions = null optionalposition: 4
public static EmailSmimeProcessingResult DecryptThenVerify(EmailDocument document, X509Certificate2 recipientCertificate, IOfficeSecurityProvider securityProvider, CmsEnvelopeOptions envelopeOptions = null, CmsVerificationOptions verificationOptions = null, EmailReaderOptions contentReaderOptions = null) #
Returns: EmailSmimeProcessingResult

Decrypts outer EnvelopedData and only then verifies an inner clear- or opaque-signed MIME entity. The concrete provider is supplied explicitly and the original protected source remains available on the input document.

Parameters

document OfficeIMO.Email.EmailDocument requiredposition: 0
recipientCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 1
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 2
envelopeOptions OfficeIMO.Security.CmsEnvelopeOptions = null optionalposition: 3
verificationOptions OfficeIMO.Security.CmsVerificationOptions = null optionalposition: 4
contentReaderOptions OfficeIMO.Email.EmailReaderOptions = null optionalposition: 5
public static EmailSmimeCreationResult Encrypt(EmailDocument document, IEnumerable<X509Certificate2> recipients, IOfficeSecurityProvider securityProvider, CmsEnvelopeOptions options = null, EmailWriterOptions writerOptions = null) #
Returns: EmailSmimeCreationResult

Creates an encrypted S/MIME EnvelopedData message for the supplied recipients.

Parameters

document OfficeIMO.Email.EmailDocument requiredposition: 0
recipients System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} requiredposition: 1
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 2
options OfficeIMO.Security.CmsEnvelopeOptions = null optionalposition: 3
writerOptions OfficeIMO.Email.EmailWriterOptions = null optionalposition: 4
public static EmailSmimeCreationResult Sign(EmailDocument document, X509Certificate2 signingCertificate, IOfficeSecurityProvider securityProvider, EmailSmimeSignatureMode mode = ClearSigned, CmsSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null, EmailWriterOptions writerOptions = null) #
Returns: EmailSmimeCreationResult

Creates a clear-signed or opaque-signed S/MIME message.

Parameters

document OfficeIMO.Email.EmailDocument requiredposition: 0
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 1
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 2
mode OfficeIMO.Email.EmailSmimeSignatureMode = ClearSigned optionalposition: 3
options OfficeIMO.Security.CmsSigningOptions = null optionalposition: 4
certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null optionalposition: 5
writerOptions OfficeIMO.Email.EmailWriterOptions = null optionalposition: 6
public static EmailSmimeCreationResult SignAndEncrypt(EmailDocument document, X509Certificate2 signingCertificate, IEnumerable<X509Certificate2> recipients, IOfficeSecurityProvider securityProvider, EmailSmimeSignatureMode signatureMode = ClearSigned, CmsSigningOptions signingOptions = null, CmsEnvelopeOptions envelopeOptions = null, IEnumerable<X509Certificate2> certificateChain = null, EmailWriterOptions writerOptions = null) #
Returns: EmailSmimeCreationResult

Signs the MIME entity and then encrypts the complete signed entity for the supplied recipients.

Parameters

document OfficeIMO.Email.EmailDocument requiredposition: 0
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 1
recipients System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} requiredposition: 2
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 3
signatureMode OfficeIMO.Email.EmailSmimeSignatureMode = ClearSigned optionalposition: 4
signingOptions OfficeIMO.Security.CmsSigningOptions = null optionalposition: 5
envelopeOptions OfficeIMO.Security.CmsEnvelopeOptions = null optionalposition: 6
certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null optionalposition: 7
writerOptions OfficeIMO.Email.EmailWriterOptions = null optionalposition: 8
public static EmailSmimeVerificationResult Verify(EmailDocument document, IOfficeSecurityProvider securityProvider, CmsVerificationOptions options = null, EmailReaderOptions contentReaderOptions = null) #
Returns: EmailSmimeVerificationResult

Verifies clear-signed or opaque-signed S/MIME content retained by the email reader.

Parameters

document OfficeIMO.Email.EmailDocument requiredposition: 0
securityProvider OfficeIMO.Security.IOfficeSecurityProvider requiredposition: 1
options OfficeIMO.Security.CmsVerificationOptions = null optionalposition: 2
contentReaderOptions OfficeIMO.Email.EmailReaderOptions = null optionalposition: 3