PackageDigitalSignatureManager.VerifySignatures Method

Verifies the signatures on all signed parts within the package.

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

public VerifyResult VerifySignatures(
	bool exitOnFailure
)

Parameters

exitOnFailure
Type: System.Boolean

true to exit on first failure; otherwise, false to continue and check all signatures.

Return Value

Type: System.IO.Packaging.VerifyResult
Success (value 0) if all signatures are verified successfully; otherwise, an enumeration that identifies the error.

This method verifies only the digital signatures; it does not verify the related X.509 certificates. The VerifyCertificate method can be used to verify the X.509 certificates.

The following example shows how to use this method to validate all signed parts within a package. For the complete sample, see Creating a Package with a Digital Signature Sample.

// ------------------------ ValidateSignatures ------------------------ 
/// <summary> 
///   Validates all the digital signatures of a given package.</summary> 
/// <param name="package">
///   The package for validating digital signatures.</param> 
/// <returns> 
///   true if all digital signatures are valid; otherwise false if the 
///   package is unsigned or any of the signatures are invalid.</returns> 
private static bool ValidateSignatures(Package package)
{
    if (package == null)
        throw new ArgumentNullException("ValidateSignatures(package)");

    // Create a PackageDigitalSignatureManager for the given Package.
    PackageDigitalSignatureManager dsm =
        new PackageDigitalSignatureManager(package);

    // Check to see if the package contains any signatures. 
    if (!dsm.IsSigned)
        return false;   // The package is not signed. 

    // Verify that all signatures are valid.
    VerifyResult result = dsm.VerifySignatures(false);
    if (result != VerifyResult.Success)
        return false;   // One or more digital signatures are invalid. 

    // else if (result == VerifyResult.Success) 
    return true;        // All signatures are valid.

}// end:ValidateSignatures()

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft