DSACryptoServiceProvider Classe

Definição

Define um objeto wrapper para acessar a implementação do CSP (provedor de serviços criptográficos) do DSA algoritmo. Essa classe não pode ser herdada.

public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA
public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA, System::Security::Cryptography::ICspAsymmetricAlgorithm
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
    inherit DSA
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSACryptoServiceProvider = class
    inherit DSA
    interface ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
    inherit DSA
    interface ICspAsymmetricAlgorithm
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Implements ICspAsymmetricAlgorithm
Herança
DSACryptoServiceProvider
Atributos
Implementações

Comentários

Você pode usar a DSACryptoServiceProvider classe para criar assinaturas digitais e proteger a integridade de seus dados.

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 de 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 hashes a mensagem usando o mesmo algoritmo de hash usado pelo remetente. Se a mensagem digerir que o receptor computa corresponde exatamente ao resumo da mensagem recebida do remetente, o receptor poderá ter certeza de 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.

Note

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

Esse algoritmo dá suporte a comprimentos de chave de 512 bits a 1024 bits em incrementos de 64 bits.

Construtores

Nome Description
DSACryptoServiceProvider()

Inicializa uma nova instância da classe DSACryptoServiceProvider.

DSACryptoServiceProvider(CspParameters)

Inicializa uma nova instância da DSACryptoServiceProvider classe com os parâmetros especificados para o provedor de serviços criptográficos (CSP).

DSACryptoServiceProvider(Int32, CspParameters)

Inicializa uma nova instância da DSACryptoServiceProvider classe com o tamanho da chave e os parâmetros especificados para o provedor de serviços criptográficos (CSP).

DSACryptoServiceProvider(Int32)

Inicializa uma nova instância da DSACryptoServiceProvider classe com o tamanho da chave especificado.

Campos

Nome 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 compatíveis com o algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)

Propriedades

Nome Description
CspKeyContainerInfo

Obtém um CspKeyContainerInfo objeto que descreve informações adicionais sobre um par de chaves criptográficas.

KeyExchangeAlgorithm

Obtém o nome do algoritmo de troca de chaves.

KeySize

Obtém o tamanho da chave usada pelo algoritmo assimétrico em bits.

LegalKeySizes

Obtém os tamanhos de chave compatíveis com o algoritmo assimétrico.

LegalKeySizes

Obtém os tamanhos de chave compatíveis com o algoritmo assimétrico.

(Herdado de AsymmetricAlgorithm)
PersistKeyInCsp

Obtém ou define um valor que indica se a chave deve ser mantida no CSP (provedor de serviços criptográficos).

PublicOnly

Obtém um valor que indica se o DSACryptoServiceProvider objeto contém apenas uma chave pública.

SignatureAlgorithm

Obtém o nome do algoritmo de assinatura.

UseMachineKeyStore

Obtém ou define um valor que indica se a chave deve ser mantida no repositório de chaves do computador em vez do repositório de perfil do usuário.

Métodos

Nome Description
Clear()

Libera todos os recursos usados pela AsymmetricAlgorithm classe.

(Herdado de AsymmetricAlgorithm)
CreateSignature(Byte[])

Cria a DSA assinatura para os dados especificados.

Dispose()

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

(Herdado de AsymmetricAlgorithm)
Dispose(Boolean)

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

(Herdado de AsymmetricAlgorithm)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportCspBlob(Boolean)

Exporta um blob que contém as informações de chave associadas a um DSACryptoServiceProvider objeto.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

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

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

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

(Herdado de AsymmetricAlgorithm)
ExportParameters(Boolean)

Exporta o DSAParameters.

ExportPkcs8PrivateKey()

Exporta a chave atual no formato PKCS#8 PrivateKeyInfo.

(Herdado de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

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

(Herdado de AsymmetricAlgorithm)
Finalize()

Libera todos os recursos associados a essa instância.

FromXmlString(String)

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

(Herdado de DSA)
GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
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.

(Herdado de DSA)
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.

(Herdado de DSA)
ImportCspBlob(Byte[])

Importa um blob que representa informações de chave DSA.

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

Quando substituído em uma classe derivada, importa o keypair público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo depois de descriptografar com uma senha baseada em bytes, substituindo as chaves desse objeto.

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

Quando substituído em uma classe derivada, importa o keypair público/privado de uma estrutura PKCS#8 EncryptedPrivateKeyInfo depois de descriptografar com uma senha baseada em char, substituindo as chaves desse objeto.

(Herdado de AsymmetricAlgorithm)
ImportParameters(DSAParameters)

Importa o especificado DSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Quando substituído em uma classe derivada, importa o keypair público/privado de uma estrutura PKCS#8 PrivateKeyInfo após a descriptografia, substituindo as chaves desse objeto.

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

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

(Herdado de AsymmetricAlgorithm)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

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

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

(Herdado de DSA)
SignData(Byte[], Int32, Int32, HashAlgorithmName)

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

(Herdado de DSA)
SignData(Byte[], Int32, Int32)

Assina uma matriz de bytes do ponto de partida especificado para o ponto de extremidade especificado.

SignData(Byte[])

Calcula o valor de hash da matriz de bytes especificada e assina o valor de hash resultante.

SignData(Stream, HashAlgorithmName)

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

(Herdado de DSA)
SignData(Stream)

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

SignHash(Byte[], String)

Calcula a assinatura do valor de hash especificado criptografando-a com a chave privada.

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 atual DSA .

(Herdado de DSA)
TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

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

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

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

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

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

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

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

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

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

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

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

(Herdado de DSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

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

(Herdado de DSA)
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.

(Herdado de DSA)
VerifyData(Byte[], Byte[])

Verifica os dados de assinatura especificados comparando-os com a assinatura computada para os dados especificados.

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

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

(Herdado de DSA)
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 especificado e comparando-o com a assinatura fornecida.

(Herdado de DSA)
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.

(Herdado de DSA)
VerifyHash(Byte[], String, Byte[])

Verifica os dados de assinatura especificados comparando-os com a assinatura computada para o valor de hash especificado.

VerifySignature(Byte[], Byte[])

Verifica a DSA assinatura dos dados especificados.

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

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

(Herdado de DSA)

Implantações explícitas de interface

Nome Description
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 deste membro, consulte Dispose().

(Herdado de AsymmetricAlgorithm)

Aplica-se a

Confira também