Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

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)
[FlagsAttribute]
public enum XpsDigSigPartAlteringRestrictions
<object property="enumerationMemberName" .../>
Member nameDescription
NoneNo parts are excluded.
CoreMetadataThe Core Properties part is excluded.
AnnotationsThe Annotations part is excluded.
SignatureOriginThe 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)
    {
        xpsDocument.SignDigitally(
            cert, true, XpsDigSigPartAlteringRestrictions.None,
            spotId.Value);
    }
    else
    {
        xpsDocument.SignDigitally(
            cert, true, XpsDigSigPartAlteringRestrictions.None);
    }

}// end:SignXps()

For the complete sample, see Read-Write-Sign an XPS Document Sample.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.