XpsDigSigPartAlteringRestrictions Enumeration

XpsDigSigPartAlteringRestrictions Enumeration


Specifies the parts of the XPS Package that are excluded from the range of a digital signature.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:   System.Windows.Xps.Packaging
Assembly:  ReachFramework (in ReachFramework.dll)

public enum XpsDigSigPartAlteringRestrictions

Member nameDescription

The Annotations part is excluded.


The Core Properties part is excluded.


No parts are excluded.


The Signature Origin part is excluded.

This enumeration has a FlagsAttribute that allows a bitwise combination of its member values.

Parts that are specified as excluded from the digital signature can be modified without invalidating the signature. For example, if a document is to be signed by more than one person, the SignatureOrigin part needs to be excluded from the signature when the document is first signed. (Exclusions are specified in the restrictions parameter of the call to SignDigitally.) If the SignatureOrigin part is not excluded, any additional signatures invalidate the signature of the first signer.

For more information about digital signatures, see the MSDN article Digital Signing Framework of the Open Packaging Conventions available at http://go.microsoft.com/fwlink/?LinkId=74494.

For more information on the Core Properties and Signature Origin parts, see Chapter 3 of the Open Packaging Conventions specification available for download at http://go.microsoft.com/fwlink/?LinkID=71255.

The following example shows how to use this enumeration to digitally sign an XPS document.

// ------------------------------ SignXps -----------------------------
/// <summary>
///   Signs an XPS document with a given X509 certificate, and if one
///   exists, associates the signature with a given SignatureDefintion
///   spotId GUID.</summary>
/// <param name="xpsDocument">
///   The XPS document to sign.</param>
/// <param name="cert">
///   The X509 certificate to use for signing.</param>
/// <param name="spotId">
///   The nullable spotId GUID of the signature definition.</param>
public void SignXps(
    XpsDocument xpsDocument, X509Certificate cert, Guid? spotId )
    // If there's a SignatureDefinition spotId,
    // associate it with the signature.
    if (spotId != null)
            cert, true, XpsDigSigPartAlteringRestrictions.None,
            cert, true, XpsDigSigPartAlteringRestrictions.None);

}// end:SignXps()

.NET Framework
Available since 3.0
Return to top
© 2016 Microsoft