DSA Classe
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.
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) |