PackageDigitalSignatureManager.VerifySignatures(Boolean) 方法

定義

確認封裝內所有已簽署組件上的簽章。

C#
public System.IO.Packaging.VerifyResult VerifySignatures(bool exitOnFailure);

參數

exitOnFailure
Boolean

true 表示在第一次失敗時結束;否則,false 表示繼續並檢查所有簽章。

傳回

如果已順利驗證所有簽章,則為 Success (值 0);否則為識別錯誤的列舉。

範例

下列範例示範如何使用此方法來驗證封裝內的所有已簽署元件。

C#
// ------------------------ 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()

備註

此方法只會驗證數字簽名;它不會驗證相關的 X.509 憑證。 方法 VerifyCertificate 可用來驗證 X.509 憑證。

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱