PackageDigitalSignatureManager.VerifySignatures(Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Verifica as assinaturas em todas as partes assinadas dentro do pacote.
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
Parâmetros
- exitOnFailure
- Boolean
true
para sair na primeira falha, caso contrário, false
para continuar e verificar todas as assinaturas.
Retornos
Success (valor 0) se todas as assinaturas forem verificadas com êxito, caso contrário, uma enumeração que identifica o erro.
Exemplos
O exemplo a seguir mostra como usar esse método para validar todas as partes assinadas em um pacote.
// ------------------------ 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()
Comentários
Esse método verifica apenas as assinaturas digitais; ele não verifica os certificados X.509 relacionados. O VerifyCertificate método pode ser usado para verificar os certificados X.509.