API Reference
Class
EmailSmime
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:
EmailSmimeDecryptionResultDecrypts opaque S/MIME EnvelopedData for a matching recipient certificate.
Parameters
- document OfficeIMO.Email.EmailDocument
- recipientCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- options OfficeIMO.Security.CmsEnvelopeOptions = null
- contentReaderOptions OfficeIMO.Email.EmailReaderOptions = null
public static EmailSmimeProcessingResult DecryptThenVerify(EmailDocument document, X509Certificate2 recipientCertificate, IOfficeSecurityProvider securityProvider, CmsEnvelopeOptions envelopeOptions = null, CmsVerificationOptions verificationOptions = null, EmailReaderOptions contentReaderOptions = null) #Returns:
EmailSmimeProcessingResultDecrypts 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
- recipientCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- envelopeOptions OfficeIMO.Security.CmsEnvelopeOptions = null
- verificationOptions OfficeIMO.Security.CmsVerificationOptions = null
- contentReaderOptions OfficeIMO.Email.EmailReaderOptions = null
public static EmailSmimeCreationResult Encrypt(EmailDocument document, IEnumerable<X509Certificate2> recipients, IOfficeSecurityProvider securityProvider, CmsEnvelopeOptions options = null, EmailWriterOptions writerOptions = null) #Returns:
EmailSmimeCreationResultCreates an encrypted S/MIME EnvelopedData message for the supplied recipients.
Parameters
- document OfficeIMO.Email.EmailDocument
- recipients System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2}
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- options OfficeIMO.Security.CmsEnvelopeOptions = null
- writerOptions OfficeIMO.Email.EmailWriterOptions = null
public static EmailSmimeCreationResult Sign(EmailDocument document, X509Certificate2 signingCertificate, IOfficeSecurityProvider securityProvider, EmailSmimeSignatureMode mode = ClearSigned, CmsSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null, EmailWriterOptions writerOptions = null) #Returns:
EmailSmimeCreationResultCreates a clear-signed or opaque-signed S/MIME message.
Parameters
- document OfficeIMO.Email.EmailDocument
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- mode OfficeIMO.Email.EmailSmimeSignatureMode = ClearSigned
- options OfficeIMO.Security.CmsSigningOptions = null
- certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null
- writerOptions OfficeIMO.Email.EmailWriterOptions = null
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:
EmailSmimeCreationResultSigns the MIME entity and then encrypts the complete signed entity for the supplied recipients.
Parameters
- document OfficeIMO.Email.EmailDocument
- signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2
- recipients System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2}
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- signatureMode OfficeIMO.Email.EmailSmimeSignatureMode = ClearSigned
- signingOptions OfficeIMO.Security.CmsSigningOptions = null
- envelopeOptions OfficeIMO.Security.CmsEnvelopeOptions = null
- certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null
- writerOptions OfficeIMO.Email.EmailWriterOptions = null
public static EmailSmimeVerificationResult Verify(EmailDocument document, IOfficeSecurityProvider securityProvider, CmsVerificationOptions options = null, EmailReaderOptions contentReaderOptions = null) #Returns:
EmailSmimeVerificationResultVerifies clear-signed or opaque-signed S/MIME content retained by the email reader.
Parameters
- document OfficeIMO.Email.EmailDocument
- securityProvider OfficeIMO.Security.IOfficeSecurityProvider
- options OfficeIMO.Security.CmsVerificationOptions = null
- contentReaderOptions OfficeIMO.Email.EmailReaderOptions = null