Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Interface

IOfficeSecurityProvider

Namespace OfficeIMO.Security
Assembly OfficeIMO.Core
Modifiers abstract

Strongly typed cryptographic provider used by OfficeIMO document packages when security features are explicitly enabled. The contract is dependency-free; implementations such as OfficeIMO.Security may use additional cryptographic packages.

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Methods

public abstract Byte[] CanonicalizeXml(Byte[] xml, String algorithm, String inclusiveNamespacesPrefixList = null, Int64 maxOutputBytes = 16777216) #
Returns: Byte[]

Canonicalizes a bounded XML document using an explicitly supported XML DSig algorithm.

Parameters

xml System.Byte[] requiredposition: 0
algorithm System.String requiredposition: 1
inclusiveNamespacesPrefixList System.String = null optionalposition: 2
maxOutputBytes System.Int64 = 16777216 optionalposition: 3
public abstract ICmsVerificationSession CreateCmsVerificationSession(CmsVerificationOptions options) #
Returns: ICmsVerificationSession

Creates a bounded CMS verification session whose aggregate timestamp limits are shared across every verification performed by that session.

Parameters

options OfficeIMO.Security.CmsVerificationOptions requiredposition: 0
public abstract Byte[] CreateXmlSignature(XmlDigitalSignatureCreationRequest request) #
Returns: Byte[]

Creates one bounded enveloping XML signature.

Parameters

request OfficeIMO.Security.XmlDigitalSignatureCreationRequest requiredposition: 0
public abstract CmsDecryptionResult DecryptCms(Byte[] encodedCms, X509Certificate2 recipientCertificate, CmsEnvelopeOptions options = null) #
Returns: CmsDecryptionResult

Decrypts CMS EnvelopedData for a matching recipient certificate.

Parameters

encodedCms System.Byte[] requiredposition: 0
recipientCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 1
options OfficeIMO.Security.CmsEnvelopeOptions = null optionalposition: 2
public abstract Byte[] EncryptCms(Byte[] content, IEnumerable<X509Certificate2> recipients, CmsEnvelopeOptions options = null) #
Returns: Byte[]

Creates CMS EnvelopedData for the supplied recipients.

Parameters

content System.Byte[] requiredposition: 0
recipients System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} requiredposition: 1
options OfficeIMO.Security.CmsEnvelopeOptions = null optionalposition: 2
public abstract Byte[] NormalizeAsn1Object(Byte[] encoded, Boolean allowTrailingZeroPadding, Int64 maxEncodedBytes) #
Returns: Byte[]

Normalizes one bounded DER/BER object, optionally trimming PDF-style trailing zero padding.

Parameters

encoded System.Byte[] requiredposition: 0
allowTrailingZeroPadding System.Boolean requiredposition: 1
maxEncodedBytes System.Int64 requiredposition: 2
public abstract Byte[] SignCmsDetached(Byte[] content, X509Certificate2 signingCertificate, CmsSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null) #
Returns: Byte[]

Creates detached CMS SignedData over the exact supplied content.

Parameters

content System.Byte[] requiredposition: 0
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 1
options OfficeIMO.Security.CmsSigningOptions = null optionalposition: 2
certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null optionalposition: 3
public abstract Byte[] SignCmsEncapsulated(Byte[] content, X509Certificate2 signingCertificate, CmsSigningOptions options = null, IEnumerable<X509Certificate2> certificateChain = null) #
Returns: Byte[]

Creates encapsulated CMS SignedData containing the supplied content.

Parameters

content System.Byte[] requiredposition: 0
signingCertificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 1
options OfficeIMO.Security.CmsSigningOptions = null optionalposition: 2
certificateChain System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null optionalposition: 3
public abstract CertificateTrustValidationResult ValidateCertificate(X509Certificate2 certificate, IEnumerable<X509Certificate2> additionalCertificates = null, CertificateValidationOptions options = null, CertificateValidationPurpose purpose = DocumentSigning) #
Returns: CertificateTrustValidationResult

Validates certificate trust, revocation, and intended usage under caller policy.

Parameters

certificate System.Security.Cryptography.X509Certificates.X509Certificate2 requiredposition: 0
additionalCertificates System.Collections.Generic.IEnumerable{System.Security.Cryptography.X509Certificates.X509Certificate2} = null optionalposition: 1
options OfficeIMO.Security.CertificateValidationOptions = null optionalposition: 2
purpose OfficeIMO.Security.CertificateValidationPurpose = DocumentSigning optionalposition: 3
public abstract CmsVerificationResult VerifyCms(Byte[] encodedCms, CmsVerificationOptions options = null, CertificateValidationPurpose signerCertificatePurpose = DocumentSigning) #
Returns: CmsVerificationResult

Verifies encapsulated CMS SignedData.

Parameters

encodedCms System.Byte[] requiredposition: 0
options OfficeIMO.Security.CmsVerificationOptions = null optionalposition: 1
signerCertificatePurpose OfficeIMO.Security.CertificateValidationPurpose = DocumentSigning optionalposition: 2
public abstract CmsVerificationResult VerifyCmsDetached(Byte[] encodedCms, Byte[] detachedContent, CmsVerificationOptions options = null, CertificateValidationPurpose signerCertificatePurpose = DocumentSigning) #
Returns: CmsVerificationResult

Verifies detached CMS SignedData against the exact supplied content.

Parameters

encodedCms System.Byte[] requiredposition: 0
detachedContent System.Byte[] requiredposition: 1
options OfficeIMO.Security.CmsVerificationOptions = null optionalposition: 2
signerCertificatePurpose OfficeIMO.Security.CertificateValidationPurpose = DocumentSigning optionalposition: 3
public abstract Rfc3161TimestampVerificationResult VerifyTimestamp(Byte[] encodedToken, Byte[] timestampedData, CertificateValidationOptions certificateOptions = null, Int64 maxEncodedBytes = 16777216, Int32 maxCertificates = 64) #
Returns: Rfc3161TimestampVerificationResult

Verifies an RFC 3161 timestamp token against the exact timestamped bytes.

Parameters

encodedToken System.Byte[] requiredposition: 0
timestampedData System.Byte[] requiredposition: 1
certificateOptions OfficeIMO.Security.CertificateValidationOptions = null optionalposition: 2
maxEncodedBytes System.Int64 = 16777216 optionalposition: 3
maxCertificates System.Int32 = 64 optionalposition: 4
public abstract XmlDigitalSignatureVerificationResult VerifyXmlSignature(XmlDigitalSignatureVerificationRequest request) #
Returns: XmlDigitalSignatureVerificationResult

Verifies XML signature math and bounded local-reference processing independently of trust.

Parameters

request OfficeIMO.Security.XmlDigitalSignatureVerificationRequest requiredposition: 0

Properties

public abstract String Name { get; } #

Gets a stable provider name for diagnostics.