PackageDigitalSignatureManager.VerifySignatures(Boolean) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Verifierar signaturerna för alla signerade delar i paketet.
public:
System::IO::Packaging::VerifyResult VerifySignatures(bool exitOnFailure);
public System.IO.Packaging.VerifyResult VerifySignatures(bool exitOnFailure);
member this.VerifySignatures : bool -> System.IO.Packaging.VerifyResult
Public Function VerifySignatures (exitOnFailure As Boolean) As VerifyResult
Parametrar
- exitOnFailure
- Boolean
true för att avsluta vid första felet; annars false kan du fortsätta och kontrollera alla signaturer.
Returer
Success (värde 0) om alla signaturer har verifierats. annars en uppräkning som identifierar felet.
Exempel
I följande exempel visas hur du använder den här metoden för att verifiera alla signerade delar i ett paket.
// ------------------------ 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()
' ------------------------ 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 Shared Function ValidateSignatures(ByVal package As Package) As Boolean
If package Is Nothing Then
Throw New ArgumentNullException("ValidateSignatures(package)")
End If
' Create a PackageDigitalSignatureManager for the given Package.
Dim dsm As New PackageDigitalSignatureManager(package)
' Check to see if the package contains any signatures.
If Not dsm.IsSigned Then
Return False
End If
' The package is not signed.
' Verify that all signatures are valid.
Dim result As VerifyResult = dsm.VerifySignatures(False)
If result <> VerifyResult.Success Then
Return False
End If
' One or more digital signatures are invalid.
' else if (result == VerifyResult.Success)
' All signatures are valid.
Return True
End Function
' end:ValidateSignatures()
Kommentarer
Den här metoden verifierar endast de digitala signaturerna. den verifierar inte de relaterade X.509-certifikaten. Metoden VerifyCertificate kan användas för att verifiera X.509-certifikaten.