Compartilhar via


DSA Classe

Definição

Representa a classe base abstrata da qual todas as implementações de DSA (Algoritmo de Assinatura Digital) devem ser herdadas.

public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSA = class
    inherit AsymmetricAlgorithm
type DSA = class
    inherit AsymmetricAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSA = class
    inherit AsymmetricAlgorithm
Public MustInherit Class DSA
Inherits AsymmetricAlgorithm
Herança
Derivado
Atributos

Comentários

Você pode usar a DSA classe e as classes derivadas para criar assinaturas digitais que ajudam a proteger a integridade de seus dados. O DSACryptoServiceProvider fornece uma implementação dessa classe.

Para usar um sistema de chave pública para assinar digitalmente uma mensagem, o remetente primeiro aplica uma função de hash à mensagem para criar um resumo da mensagem. Em seguida, o remetente criptografa o resumo da mensagem com a chave privada do remetente para criar a assinatura pessoal do remetente. Ao receber a mensagem e a assinatura, o receptor descriptografa a assinatura usando a chave pública do remetente para recuperar o resumo da mensagem e faz hashes da mensagem usando o mesmo algoritmo de hash usado pelo remetente. Se o resumo da mensagem que o receptor calcula corresponder exatamente ao resumo da mensagem recebido do remetente, o receptor poderá assumir que a mensagem não foi alterada durante o trânsito. Observe que uma assinatura pode ser verificada por qualquer pessoa, pois a chave pública do remetente é de conhecimento comum.

Importante

Os criadores do algoritmo DSA retiraram o suporte para ele. Considere usar a RSA classe ou a ECDsa classe em vez da DSA classe . Use DSA apenas para compatibilidade com aplicativos e dados herdados.

Existem duas versões diferentes do algoritmo DSA. O formulário original, descrito em FIPS 186-2, requer o uso de SHA-1 como o algoritmo de hash e dá suporte a comprimentos de chave de 512 bits a 1024 bits em incrementos de 64 bits. Uma versão atualizada do algoritmo foi descrita no FIPS 186-3, que habilitou o uso da família SHA-2 de algoritmos de hash e adicionou suporte para chaves de 2048 bits e chaves de 3072 bits. Nem todas as implementações derivadas desse tipo dão suporte aos aprimoramentos do FIPS 186-3 para DSA. O suporte pode ser detectado por meio da LegalKeySizes propriedade .

Construtores

DSA()

Inicializa uma nova instância da classe DSA.

Campos

KeySizeValue

Representa o tamanho, em bits, do módulo chave usado pelo algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)
LegalKeySizesValue

Especifica os tamanhos de chave que são compatíveis com o algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)

Propriedades

KeyExchangeAlgorithm

Quando substituída em uma classe derivada, obtém o nome do algoritmo de troca de chaves. Caso contrário, gerará um NotImplementedException.

(Herdado de AsymmetricAlgorithm)
KeySize

Obtém ou define o tamanho, em bits, do módulo chave usado pelo algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)
LegalKeySizes

Obtém os tamanhos de chave que têm suporte pelo algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)
SignatureAlgorithm

Quando implementado em uma classe derivada, obtém o nome do algoritmo de assinatura. Caso contrário, sempre gerará um NotImplementedException.

(Herdado de AsymmetricAlgorithm)

Métodos

Clear()

Libera todos os recursos usados pela classe AsymmetricAlgorithm.

(Herdado de AsymmetricAlgorithm)
Create()

Cria o objeto de criptografia padrão usado para executar o algoritmo assimétrico.

Create(DSAParameters)

Cria uma nova chave DSA efêmera com os parâmetros de chave DSA especificados.

Create(Int32)

Cria uma nova chave DSA efêmera com o tamanho da chave especificado.

Create(String)
Obsoleto.

Cria o objeto criptográfico especificado usado para executar o algoritmo assimétrico.

CreateSignature(Byte[])

Quando substituído em uma classe derivada, cria a assinatura DSA para o valor de hash especificado.

CreateSignature(Byte[], DSASignatureFormat)

Cria a assinatura DSA para o valor de hash especificado no formato indicado.

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Cria a assinatura DSA para o valor de hash especificado no formato indicado.

Dispose()

Libera todos os recursos usados pela instância atual da classe AsymmetricAlgorithm.

(Herdado de AsymmetricAlgorithm)
Dispose(Boolean)

Libera os recursos não gerenciados usados pela classe AsymmetricAlgorithm e, opcionalmente, libera os recursos gerenciados.

(Herdado de AsymmetricAlgorithm)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em bytes.

(Herdado de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exporta a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em caracteres.

(Herdado de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma senha baseada em bytes, codificada em PEM.

(Herdado de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma senha baseada em char, codificada em PEM.

(Herdado de AsymmetricAlgorithm)
ExportParameters(Boolean)

Quando substituído em uma classe derivada, exporta o DSAParameters.

ExportPkcs8PrivateKey()

Exporta a chave atual no formato PrivateKeyInfo do PKCS nº 8.

(Herdado de AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Exporta a chave atual no formato PrivateKeyInfo PKCS nº 8, codificado em PEM.

(Herdado de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Exporta a parte pública da chave atual no formato SubjectPublicKeyInfo X.509.

(Herdado de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Exporta a parte de chave pública da chave atual no formato SubjectPublicKeyInfo X.509, codificado em PEM.

(Herdado de AsymmetricAlgorithm)
FromXmlString(String)

Reconstrói um objeto DSA de uma cadeia de caracteres XML.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetMaxSignatureSize(DSASignatureFormat)

Obtém o maior tamanho, em bytes, de uma assinatura produzida por essa chave no formato indicado.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

Quando substituído em uma classe derivada, calcula o valor de hash de uma parte especificada de uma matriz de bytes usando um algoritmo de hash especificado.

HashData(Stream, HashAlgorithmName)

Quando substituído em uma classe derivada, calcula o valor de hash de um fluxo binário especificado usando um algoritmo de hash especificado.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em bytes, substituindo as chaves desse objeto.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Quando substituído em uma classe derivada, importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em bytes, substituindo as chaves desse objeto.

(Herdado de AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em caracteres, substituindo as chaves desse objeto.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Quando substituído em uma classe derivada, importa o par de chaves pública/privada de uma estrutura de EncryptedPrivateKeyInfo do PKCS nº 8 após descriptografar com uma senha baseada em caracteres, substituindo as chaves desse objeto.

(Herdado de AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importa uma chave privada criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Quando substituído em uma classe derivada, importa uma chave criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

(Herdado de AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Importa uma chave privada criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Quando substituído em uma classe derivada, importa uma chave criptografada no formato PEM conforme RFC 7468, substituindo as chaves do objeto.

(Herdado de AsymmetricAlgorithm)
ImportFromPem(ReadOnlySpan<Char>)

Importa uma chave codificada no formato PEM do RFC 7468, substituindo as chaves do objeto.

ImportFromPem(ReadOnlySpan<Char>)

Quando substituído em uma classe derivada, importa uma chave codificada textualmente conforme RFC 7468, substituindo as chaves do objeto.

(Herdado de AsymmetricAlgorithm)
ImportParameters(DSAParameters)

Quando é substituído em uma classe derivada, importa o DSAParameters especificado.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importa o par de chaves pública/privada de uma estrutura de PrivateKeyInfo do PKCS nº 8 após a descriptografia, substituindo as chaves desse objeto.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Quando substituído em uma classe derivada, importa o par de chaves pública/privada de uma estrutura de PrivateKeyInfo do PKCS nº 8 após a descriptografia, substituindo as chaves desse objeto.

(Herdado de AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importa a chave pública de uma estrutura de SubjectPublicKeyInfo X.509 após a descriptografia, substituindo as chaves desse objeto.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Quando substituído em uma classe derivada, importa a chave pública de uma estrutura de SubjectPublicKeyInfo X.509 após a descriptografia, substituindo as chaves desse objeto.

(Herdado de AsymmetricAlgorithm)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SignData(Byte[], HashAlgorithmName)

Calcula o valor de hash da matriz de byte especificada usando o algoritmo de hash especificado e assina o valor de hash resultante.

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Calcula o valor de hash dos dados especificados e os assina usando o formato de assinatura especificado.

SignData(Byte[], Int32, Int32, HashAlgorithmName)

Calcula o valor de hash de uma parte da matriz de byte especificada usando o algoritmo de hash especificado e assina o valor de hash resultante.

SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

Calcula o valor de hash dos dados especificados e os assina usando o formato de assinatura especificado.

SignData(Stream, HashAlgorithmName)

Calcula o valor de hash do fluxo especificado usando o algoritmo de hash especificado e assina o valor de hash resultante.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Calcula o valor de hash dos dados especificados e os assina usando o formato de assinatura especificado.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Calcula o valor de hash dos dados especificados e os assina usando o formato de assinatura especificado.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Calcula o valor de hash dos dados especificados e os assina usando o formato de assinatura especificado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
ToXmlString(Boolean)

Cria e retorna uma representação de cadeia de caracteres XML do objeto DSA atual.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Tenta criar a assinatura DSA para o valor de hash especificado no formato indicado e colocá-la no buffer fornecido.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Tenta criar a assinatura DSA para o hash especificado no buffer fornecido.

TryCreateSignatureCore(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Tenta criar a assinatura DSA para o valor de hash especificado no formato indicado e colocá-la no buffer fornecido.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS n º 8 para um buffer fornecido, usando uma senha baseada em bytes.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 para um buffer fornecido, usando uma senha baseada em bytes.

(Herdado de AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS n º 8 para um buffer fornecido, usando uma senha baseada em caracteres.

TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 para um buffer fornecido, usando uma senha baseada em caracteres.

(Herdado de AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Tenta exportar a chave atual no formato EncryptedPrivateKeyInfo do PKCS nº 8 com uma senha baseada em bytes, codificada em PEM.

(Herdado de AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma senha baseada em char, codificada em PEM.

(Herdado de AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Tenta exportar a chave atual no formato PrivateKeyInfo do PKCS n º 8 para um buffer fornecido.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato PrivateKeyInfo do PKCS nº 8 para um buffer fornecido.

(Herdado de AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Tenta exportar a chave atual no formato PrivateKeyInfo PKCS nº 8 codificado em PEM para um buffer fornecido.

(Herdado de AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Tenta exportar a chave atual no formato SubjectPublicKeyInfo X.509 para um buffer fornecido.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Quando substituído em uma classe derivada, tenta exportar a chave atual no formato SubjectPublicKeyInfo do X.509 para um buffer fornecido.

(Herdado de AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Tenta exportar a chave atual no formato SubjectPublicKeyInfo X.509 codificado em PEM para um buffer fornecido.

(Herdado de AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Tenta computar o valor de hash dos dados fornecidos em um buffer fornecido.

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Tenta criar a assinatura DSA para os dados especificados no formato indicado e colocá-la no buffer fornecido.

TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Tenta criar a assinatura DSA para os dados especificados no buffer fornecido.

TrySignDataCore(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Tenta criar a assinatura DSA para os dados especificados no formato indicado e colocá-la no buffer fornecido.

VerifyData(Byte[], Byte[], HashAlgorithmName)

Verifica se uma assinatura digital é válida calculando o valor de hash dos dados especificados usando o algoritmo de hash especificados e comparando-o à assinatura fornecida.

VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

Verifica se uma assinatura digital é válida para os dados fornecidos.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Verifica se uma assinatura digital é válida calculando o valor de hash dos dados especificados em uma parte de uma matriz de bytes usando o algoritmo de hash especificado e comparando-o à assinatura fornecida.

VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

Verifica se uma assinatura digital é válida para os dados fornecidos.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

Verifica se uma assinatura digital é válida calculando o valor de hash dos dados em um intervalo de bytes usando o algoritmo de hash especificados e comparando-o à assinatura fornecida.

VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Verifica se uma assinatura digital é válida para os dados fornecidos.

VerifyData(Stream, Byte[], HashAlgorithmName)

Verifica se uma assinatura digital é válida calculando o valor de hash do fluxo especificado usando o algoritmo de hash especificado e comparando-o à assinatura fornecida.

VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

Verifica se uma assinatura digital é válida para os dados fornecidos.

VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Verifica se uma assinatura digital é válida para os dados fornecidos.

VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Verifica se uma assinatura digital é válida para os dados fornecidos.

VerifySignature(Byte[], Byte[])

Quando substituído em uma classe derivada, verifica a assinatura DSA para os dados especificados.

VerifySignature(Byte[], Byte[], DSASignatureFormat)

Verifica se uma assinatura digital é válida para o hash fornecido.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Verifica se a assinatura digital é válida para um hash de dados fornecido.

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Verifica se uma assinatura digital é válida para o hash fornecido.

VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Verifica se uma assinatura digital é válida para o hash fornecido.

Implantações explícitas de interface

IDisposable.Dispose()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Para obter uma descrição desse membro, confira Dispose().

(Herdado de AsymmetricAlgorithm)

Aplica-se a

Confira também