DSASignatureDeformatter Classe

Definição

Verifica uma assinatura do Algoritmo de Assinatura Digital (DSA) PKCS#1 v1.5.

public ref class DSASignatureDeformatter : System::Security::Cryptography::AsymmetricSignatureDeformatter
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
[System.Runtime.InteropServices.ComVisible(true)]
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
type DSASignatureDeformatter = class
    inherit AsymmetricSignatureDeformatter
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSASignatureDeformatter = class
    inherit AsymmetricSignatureDeformatter
Public Class DSASignatureDeformatter
Inherits AsymmetricSignatureDeformatter
Herança
DSASignatureDeformatter
Atributos

Exemplos

using System;
using System.Security.Cryptography;

class DSASample
{
        
    static void Main()
    {
        try
        {
            //Create a new instance of DSA.
            DSA DSA = DSA.Create();

            //The hash to sign.
            byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};

            //Create an DSASignatureFormatter object and pass it the 
            //DSA instance to transfer the key information.
            DSASignatureFormatter DSAFormatter = new DSASignatureFormatter(DSA);

            //Set the hash algorithm to SHA1.
            DSAFormatter.SetHashAlgorithm("SHA1");

            //Create a signature for HashValue and return it.
            byte[] SignedHash = DSAFormatter.CreateSignature(Hash);

            //Create an DSASignatureDeformatter object and pass it the 
            //DSA instance to transfer the key information.
            DSASignatureDeformatter DSADeformatter = new DSASignatureDeformatter(DSA);

            //Verify the hash and display the results to the console.
            if(DSADeformatter.VerifySignature(Hash, SignedHash))
            {
                Console.WriteLine("The signature was verified.");
            }
            else
            {
                Console.WriteLine("The signature was not verified.");
            }
        }
        catch(CryptographicException e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
Imports System.Security.Cryptography

 _

Class DSASample


    Shared Sub Main()
        Try
            'Create a new instance of DSA.
            Dim DSA As DSA = DSA.Create()

            'The hash to sign.
            Dim Hash As Byte() = {59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135}

            'Create an DSASignatureFormatter object and pass it the 
            'DSA instance to transfer the key information.
            Dim DSAFormatter As New DSASignatureFormatter(DSA)

            'Set the hash algorithm to SHA1.
            DSAFormatter.SetHashAlgorithm("SHA1")

            'Create a signature for HashValue and return it.
            Dim SignedHash As Byte() = DSAFormatter.CreateSignature(Hash)

            'Create an DSASignatureDeformatter object and pass it the 
            'DSA instance to transfer the key information.
            Dim DSADeformatter As New DSASignatureDeformatter(DSA)

            'Verify the hash and display the results to the console.
            If DSADeformatter.VerifySignature(Hash, SignedHash) Then
                Console.WriteLine("The signature was verified.")
            Else
                Console.WriteLine("The signature was not verified.")
            End If

        Catch e As CryptographicException
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Class

Observações

Importante

Os criadores do algoritmo DSA retiraram o seu apoio a ele. Considera usar a RSA classe ou a ECDsa classe em vez da classe DSA . Use DSA apenas para compatibilidade com aplicações e dados legados.

Construtores

Name Description
DSASignatureDeformatter()

Inicializa uma nova instância da DSASignatureDeformatter classe.

DSASignatureDeformatter(AsymmetricAlgorithm)

Inicializa uma nova instância da DSASignatureDeformatter classe com a chave especificada.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SetHashAlgorithm(String)

Especifica o algoritmo de hash para o deformatador de assinatura do Algoritmo de Assinatura Digital (DSA).

SetKey(AsymmetricAlgorithm)

Especifica a chave a ser usada para o deformatador de assinaturas do Algoritmo de Assinatura Digital (DSA).

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
VerifySignature(Byte[], Byte[])

Verifica a assinatura do Algoritmo de Assinatura Digital (DSA) nos dados.

VerifySignature(HashAlgorithm, Byte[])

Verifica a assinatura a partir do valor hash especificado.

(Herdado de AsymmetricSignatureDeformatter)

Aplica-se a

Ver também