DSACryptoServiceProvider 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.
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
- 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) |