This documentation is archived and is not being maintained.

PackageDigitalSignature Class

Represents a digital signature that is applied to a set of package parts and relationships.


Namespace:  System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

public class PackageDigitalSignature

The PackageDigitalSignature type exposes the following members.

Public propertyCertificateEmbeddingOptionGets the X.509 certificate embedding option.
Public propertySignatureGets or sets the XML digital signature.
Public propertySignaturePartGets the PackagePart that contains the signature.
Public propertySignatureTypeGets the URI string that identifies the signature type. 
Public propertySignatureValueGets the encrypted hash value of the Signature.
Public propertySignedPartsGets a collection of all the PackagePart objects signed with the signature.
Public propertySignedRelationshipSelectorsGets the list of the PackageRelationship parts that have been signed with the signature.
Public propertySignerGets the X.509 certificate of the signer.
Public propertySigningTimeGets the date and time that the signature was created.
Public propertyTimeFormatGets the format of the date and time returned by the SigningTime property.

Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetPartTransformListReturns an ordered list of the Transform operations applied to a given part.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodVerify()Verifies the digital signature against an X.509 certificate.
Public methodVerify(X509Certificate)Verifies the digital signature against a given X.509 certificate.

A PackageDigitalSignature object is immutable and cannot be altered after it is created.

For security, a PackageDigitalSignature can be associated with parts within a Package. A PackageDigitalSignature incorporates an X.509 certificate that provides two features:

  • Identifies and authenticates the originator of the part.

  • Validates that the part has not been modified.

The digital signature does not preclude a part from being modified, but a validation check against the signature fails if the part has changed in any way. The application can then take appropriate action—for example, it can prevent the part from opening or it can notify the user that the part has been modified and is not secure.

For more information about package digital signatures, see the MSDN article Digital Signing Framework of the Open Packaging Conventions.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later)

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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.