DSA Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa a classe base abstrata da qual todas as implementações do Algoritmo de Assinatura Digital (DSA) devem herdar.
public ref class DSA abstract : System::Security::Cryptography::AsymmetricAlgorithm
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class DSA : System.Security.Cryptography.AsymmetricAlgorithm
type DSA = class
inherit AsymmetricAlgorithm
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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
Observações
Pode usar a DSA classe e as classes derivadas para criar assinaturas digitais que ajudam a proteger a integridade dos seus dados. Fornece DSACryptoServiceProvider uma implementação desta classe.
Para usar um sistema de chave pública para assinar digitalmente uma mensagem, o remetente aplica primeiro uma função de hash à mensagem para criar um digest da mensagem. O remetente então encripta o digest da mensagem com a chave privada do remetente para criar a assinatura pessoal do remetente. Ao receber a mensagem e a assinatura, o recetor desencripta a assinatura usando a chave pública do remetente para recuperar o resumo da mensagem e faz o hash da mensagem usando o mesmo algoritmo de hash que o remetente utilizou. Se o digest da mensagem que o recetor calcula corresponder exatamente ao digest da mensagem recebido do remetente, o recetor pode assumir que a mensagem não foi alterada durante o trânsito. Note que uma assinatura pode ser verificada por qualquer pessoa, porque a chave pública do remetente é de conhecimento comum.
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.
Existem duas versões diferentes do algoritmo DSA. A forma original, descrita no FIPS 186-2, requer o uso do SHA-1 como algoritmo de hash e suporta 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 permitiu a utilização 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 deste tipo suportam as melhorias FIPS 186-3 para DSA. O suporte pode ser detetado através da LegalKeySizes propriedade.
Construtores
| Name | Description |
|---|---|
| DSA() |
Inicializa uma nova instância da DSA classe. |
Campos
| Name | Description |
|---|---|
| KeySizeValue |
Representa o tamanho, em bits, do módulo de chave usado pelo algoritmo assimétrico. (Herdado de AsymmetricAlgorithm) |
| LegalKeySizesValue |
Especifica os tamanhos de chave suportados pelo algoritmo assimétrico. (Herdado de AsymmetricAlgorithm) |
Propriedades
| Name | Description |
|---|---|
| KeyExchangeAlgorithm |
Quando é sobreposto numa classe derivada, obtém o nome do algoritmo de troca de chaves. Caso contrário, lança um NotImplementedException. (Herdado de AsymmetricAlgorithm) |
| KeySize |
Obtém ou define o tamanho, em bits, do módulo de chave usado pelo algoritmo assimétrico. (Herdado de AsymmetricAlgorithm) |
| LegalKeySizes |
Obtém os tamanhos de chave suportados pelo algoritmo assimétrico. (Herdado de AsymmetricAlgorithm) |
| SignatureAlgorithm |
Quando implementado numa classe derivada, recebe o nome do algoritmo de assinatura. Caso contrário, lança sempre um NotImplementedException. (Herdado de AsymmetricAlgorithm) |
Métodos
| Name | Description |
|---|---|
| Clear() |
Liberta todos os recursos usados pela AsymmetricAlgorithm turma. (Herdado de AsymmetricAlgorithm) |
| Create() |
Cria o objeto criptográfico padrão usado para executar o algoritmo assimétrico. |
| Create(DSAParameters) |
Cria uma nova chave DSA efémera com os parâmetros especificados da chave DSA. |
| Create(Int32) |
Cria uma nova chave DSA efémera com o tamanho de chave especificado. |
| Create(String) |
Obsoleto.
Cria o objeto criptográfico especificado usado para executar o algoritmo assimétrico. |
| CreateSignature(Byte[], DSASignatureFormat) |
Cria a assinatura DSA para o valor hash especificado no formato indicado. |
| CreateSignature(Byte[]) |
Quando sobreposto numa classe derivada, cria-se a DSA assinatura para o valor de hash especificado. |
| CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat) |
Cria a assinatura DSA para o valor hash especificado no formato indicado. |
| Dispose() |
Liberta todos os recursos usados pela instância atual da AsymmetricAlgorithm classe. (Herdado de AsymmetricAlgorithm) |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pela AsymmetricAlgorithm classe e, opcionalmente, liberta os recursos geridos. (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 PKCS#8 EncryptedPrivateKeyInfo com uma palavra-passe baseada em bytes. (Herdado de AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma palavra-passe baseada em caracteres. (Herdado de AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters) |
Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma palavra-passe baseada em bytes, codificada em PEM. (Herdado de AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters) |
Exporta a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma palavra-passe baseada em caracteres, codificada em PEM. (Herdado de AsymmetricAlgorithm) |
| ExportParameters(Boolean) |
Quando sobreposto numa classe derivada, exporta o DSAParameters. |
| ExportPkcs8PrivateKey() |
Exporta a chave atual no formato PKCS#8 PrivateKeyInfo. (Herdado de AsymmetricAlgorithm) |
| ExportPkcs8PrivateKeyPem() |
Exporta a chave atual no formato PKCS#8 PrivateKeyInfo, codificado em PEM. (Herdado de AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfo() |
Exporta a parte da chave pública da chave atual no formato X.509 SubjectPublicKeyInfo. (Herdado de AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfoPem() |
Exporta a parte da chave pública da chave atual no formato X.509 SubjectPublicKeyInfo, codificado em PEM. (Herdado de AsymmetricAlgorithm) |
| FromXmlString(String) |
Reconstrói um DSA objeto a partir de uma string XML. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetMaxSignatureSize(DSASignatureFormat) |
Obtém o maior tamanho, em bytes, para uma assinatura produzida por esta chave no formato indicado. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| HashData(Byte[], Int32, Int32, HashAlgorithmName) |
Quando sobrescrito numa classe derivada, calcula o valor de hash de uma porção especificada de um array de bytes usando um algoritmo de hash especificado. |
| HashData(Stream, HashAlgorithmName) |
Quando sobrescrito numa 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úblico/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptar com uma palavra-passe baseada em bytes, substituindo as chaves deste objeto. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
Quando sobrescrito numa classe derivada, importa o par de chaves público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptar com uma palavra-passe baseada em bytes, substituindo as chaves deste objeto. (Herdado de AsymmetricAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Importa o par de chaves pública/privada de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptação com uma palavra-passe baseada em caracteres, substituindo as chaves deste objeto. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
Quando sobrescrito numa classe derivada, importa o par de chaves público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo após desencriptação com uma palavra-passe baseada em caracteres, substituindo as chaves deste objeto. (Herdado de AsymmetricAlgorithm) |
| ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>) |
Importa uma chave privada codificada em PEM RFC 7468 encriptada, substituindo as chaves deste objeto. |
| ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Importa uma chave privada codificada em PEM RFC 7468 encriptada, substituindo as chaves deste objeto. |
| ImportFromPem(ReadOnlySpan<Char>) |
Importa uma chave codificada em PEM no RFC 7468, substituindo as chaves deste objeto. |
| ImportParameters(DSAParameters) |
Quando sobreposto numa classe derivada, importa o especificado DSAParameters. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Importa o par de chaves público/privado de uma estrutura PKCS#8 PrivateKeyInfo após a desencriptação, substituindo as chaves deste objeto. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Quando é sobreposto numa classe derivada, importa o par de chaves público/privado de uma estrutura PrivateKeyInfo PKCS#8 após a desencriptação, substituindo as chaves deste objeto. (Herdado de AsymmetricAlgorithm) |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
Importa a chave pública de uma estrutura X.509 SubjectPublicKeyInfo após a desencriptação, substituindo as chaves deste objeto. |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
Quando é sobreposta numa classe derivada, importa a chave pública de uma estrutura X.509 SubjectPublicKeyInfo após a desencriptação, substituindo as chaves deste objeto. (Herdado de AsymmetricAlgorithm) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| SignData(Byte[], HashAlgorithmName, DSASignatureFormat) |
Calcula o valor de hash dos dados especificados e assina-os usando o formato de assinatura especificado. |
| SignData(Byte[], HashAlgorithmName) |
Calcula o valor de hash do array de bytes especificado 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 assina-os usando o formato de assinatura especificado. |
| SignData(Byte[], Int32, Int32, HashAlgorithmName) |
Calcula o valor de hash de uma parte do array de bytes 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 assina-os 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. |
| SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Calcula o valor de hash dos dados especificados e assina-os usando o formato de assinatura especificado. |
| SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat) |
Calcula o valor de hash dos dados especificados e assina-os usando o formato de assinatura especificado. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| ToXmlString(Boolean) |
Cria e devolve uma representação de string XML do objeto atual DSA . |
| TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32) |
Tenta criar a assinatura DSA para o valor 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 hash especificado no formato indicado e colocá-la no buffer fornecido. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
Tentativas de exportar a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo para um buffer fornecido, usando uma palavra-passe baseada em bytes. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
Quando sobreposta numa classe derivada, tenta exportar a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo para um buffer fornecido, usando uma palavra-passe baseada em bytes. (Herdado de AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
Tentativas de exportar a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo para um buffer fornecido, usando uma palavra-passe baseada em caracteres. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
Quando é sobreposta numa classe derivada, tenta exportar a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo para um buffer fornecido, usando uma palavra-passe baseada em caracteres. (Herdado de AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32) |
Tentativas de exportar a chave atual no formato PKCS#8 EncryptedPrivateKeyInfo com uma palavra-passe 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 palavra-passe baseada em caracteres, codificada em PEM. (Herdado de AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Tenta exportar a chave atual no formato PKCS#8 PrivateKeyInfo para um buffer fornecido. |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
Quando sobreposta numa classe derivada, tenta exportar a chave atual no formato PKCS#8 PrivateKeyInfo para um buffer fornecido. (Herdado de AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKeyPem(Span<Char>, Int32) |
Tentativas de exportar a chave atual no formato PKCS#8 PrivateKeyInfo codificado em PEM para um buffer fornecido. (Herdado de AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Tentativas de exportar a chave atual no formato X.509 SubjectPublicKeyInfo para um buffer fornecido. |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Quando sobreposta numa classe derivada, tenta exportar a chave atual no formato X.509 SubjectPublicKeyInfo para um buffer fornecido. (Herdado de AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32) |
Tentativas de exportar a chave atual no formato X.509 SubjectPublicKeyInfo codificado em PEM para um buffer fornecido. (Herdado de AsymmetricAlgorithm) |
| TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32) |
Tenta calcular o valor de hash dos dados fornecidos num 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, DSASignatureFormat) |
Verifica se uma assinatura digital é válida para os dados fornecidos. |
| VerifyData(Byte[], Byte[], HashAlgorithmName) |
Verifica se uma assinatura digital é válida calculando o valor de hash dos dados especificados usando o algoritmo de hash especificado e comparando-o com a assinatura fornecida. |
| VerifyData(Byte[], Int32, Int32, 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 numa parte de um array de bytes usando o algoritmo de hash especificado e comparando-o com a assinatura fornecida. |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<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 num intervalo de bytes usando o algoritmo de hash especificado e comparando-o com a assinatura fornecida. |
| VerifyData(Stream, 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 com a assinatura fornecida. |
| 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[], DSASignatureFormat) |
Verifica se uma assinatura digital é válida para o hash fornecido. |
| VerifySignature(Byte[], Byte[]) |
Quando sobreposta numa classe derivada, verifica a DSA assinatura dos dados especificados. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Verifica se uma assinatura digital é válida para o hash fornecido. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Verifica se uma assinatura digital é válida para um hash de dados fornecido. |
| VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Verifica se uma assinatura digital é válida para o hash fornecido. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código. Para uma descrição deste elemento, veja Dispose(). (Herdado de AsymmetricAlgorithm) |