DSA Clase

Definición

Representa la clase base abstracta de la que deben heredarse todas las implementaciones del algoritmo de firma digital (DSA).

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
Herencia
Derivado
Atributos

Comentarios

Puede usar la DSA clase y las clases derivadas para crear firmas digitales que ayuden a proteger la integridad de los datos. DSACryptoServiceProvider proporciona una implementación de esta clase.

Para usar un sistema de clave pública para firmar digitalmente un mensaje, el remitente aplica primero una función hash al mensaje para crear un resumen de mensaje. A continuación, el remitente cifra el resumen del mensaje con la clave privada del remitente para crear la firma personal del remitente. Tras recibir el mensaje y la firma, el receptor descifra la firma mediante la clave pública del remitente para recuperar el resumen del mensaje y aplica un algoritmo hash al mensaje con el mismo algoritmo hash que usó el remitente. Si el resumen del mensaje que el receptor calcula coincide exactamente con el resumen del mensaje recibido del remitente, el receptor puede suponer que el mensaje no se modificó durante el tránsito. Tenga en cuenta que cualquier persona puede comprobar una firma, ya que la clave pública del remitente es un conocimiento común.

Importante

Los creadores del algoritmo DSA han retirado su compatibilidad con él. Considere la posibilidad de usar la RSA clase o la ECDsa clase en lugar de la DSA clase . Use DSA solo para la compatibilidad con los datos y las aplicaciones heredadas.

Existen dos versiones diferentes del algoritmo DSA. La forma original, descrita en FIPS 186-2, requiere el uso de SHA-1 como algoritmo hash y admite longitudes de clave de 512 bits a 1024 bits en incrementos de 64 bits. Se ha descrito una versión actualizada del algoritmo en FIPS 186-3, que habilitó el uso de la familia SHA-2 de algoritmos hash y agregó compatibilidad con claves de 2048 bits y claves de 3072 bits. No todas las implementaciones derivadas de este tipo admiten las mejoras fips 186-3 para DSA. El soporte técnico se puede detectar a través de la LegalKeySizes propiedad .

Constructores

DSA()

Inicializa una nueva instancia de la clase DSA.

Campos

KeySizeValue

Representa el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico.

(Heredado de AsymmetricAlgorithm)
LegalKeySizesValue

Especifica los tamaños de clave admitidos por el algoritmo asimétrico.

(Heredado de AsymmetricAlgorithm)

Propiedades

KeyExchangeAlgorithm

Cuando se invalida en una clase derivada, obtiene el nombre del algoritmo de intercambio de claves. En caso contrario, produce una excepción NotImplementedException.

(Heredado de AsymmetricAlgorithm)
KeySize

Obtiene o establece el tamaño, en bits, del módulo de claves que usa el algoritmo asimétrico.

(Heredado de AsymmetricAlgorithm)
LegalKeySizes

Obtiene los tamaños de clave que admite el algoritmo asimétrico.

(Heredado de AsymmetricAlgorithm)
SignatureAlgorithm

Cuando se implementa en una clase derivada, obtiene el nombre del algoritmo de signatura. En caso contrario, produce siempre una NotImplementedException.

(Heredado de AsymmetricAlgorithm)

Métodos

Clear()

Libera todos los recursos que utiliza la clase AsymmetricAlgorithm.

(Heredado de AsymmetricAlgorithm)
Create()

Crea un objeto criptográfico predeterminado para realizar el algoritmo asimétrico.

Create(DSAParameters)

Crea una clave DSA efímera con los parámetros de clave DSA especificados.

Create(Int32)

Crea una clave DSA efímera con el tamaño de clave especificado.

Create(String)
Obsoletos.

Crea un objeto criptográfico predeterminado para realizar el algoritmo asimétrico.

CreateSignature(Byte[])

Si se reemplaza en una clase derivada, crea la firma DSA para el valor hash especificado.

CreateSignature(Byte[], DSASignatureFormat)

Crea la firma DSA para el valor hash especificado en el formato indicado.

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Crea la firma DSA para el valor hash especificado en el formato indicado.

Dispose()

Libera todos los recursos usados por la instancia actual de la clase AsymmetricAlgorithm.

(Heredado de AsymmetricAlgorithm)
Dispose(Boolean)

Libera los recursos no administrados utilizados por la clase AsymmetricAlgorithm y, de forma opcional, libera los recursos administrados.

(Heredado de AsymmetricAlgorithm)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

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

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes.

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

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres.

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

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes, codificada en PEM.

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

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres, codificada en PEM.

(Heredado de AsymmetricAlgorithm)
ExportParameters(Boolean)

Cuando se invalida en una clase derivada, exporta el DSAParameters.

ExportPkcs8PrivateKey()

Exporta la clave actual en el formato PrivateKeyInfo de PKCS#8.

(Heredado de AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Exporta la clave actual en el formato PrivateKeyInfo PKCS#8, codificado en PEM.

(Heredado de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Exporta la parte de la clave pública de la clave actual en el formato SubjectPublicKeyInfo de X.509.

(Heredado de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Exporta la parte de clave pública de la clave actual en el formato SubjectPublicKeyInfo X.509, codificado en PEM.

(Heredado de AsymmetricAlgorithm)
FromXmlString(String)

Reconstruye un objeto DSA a partir de una cadena XML.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetMaxSignatureSize(DSASignatureFormat)

Obtiene el tamaño más grande, en bytes, para una firma generada por esta clave en el formato indicado.

GetType()

Obtiene el Type de la instancia actual.

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

Cuando se reemplaza en una clase derivada, calcula el valor hash de una parte especificada de una matriz de bytes usando un algoritmo hash especificado.

HashData(Stream, HashAlgorithmName)

Cuando se reemplaza en una clase derivada, calcula el valor hash de una secuencia binaria especificada usando un algoritmo hash especificado.

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

Importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en bytes, reemplazando las claves de este objeto.

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

Cuando se reemplaza en una clase derivada, importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en bytes, reemplazando las claves de este objeto.

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

Importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en caracteres, reemplazando las claves de este objeto.

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

Cuando se reemplaza en una clase derivada, importa el par de claves pública/privada desde una estructura EncryptedPrivateKeyInfo de PKCS#8 después de descifrar con una contraseña basada en caracteres, reemplazando las claves de este objeto.

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

Importa una clave privada cifrada con codificación PEM RFC 7468, reemplazando las claves de este objeto.

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

Cuando se invalida en una clase derivada, importa una clave con codificación PEM de RFC 7468 cifrada, reemplazando las claves para este objeto.

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

Importa una clave privada cifrada con codificación PEM RFC 7468, reemplazando las claves de este objeto.

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

Cuando se invalida en una clase derivada, importa una clave con codificación PEM de RFC 7468 cifrada, reemplazando las claves para este objeto.

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

Importa una clave con codificación PEM RFC 7468, reemplazando las claves de este objeto.

ImportFromPem(ReadOnlySpan<Char>)

Cuando se reemplaza en una clase derivada, importa una clave codificada textualmente de RFC 7468, reemplazando las claves para este objeto.

(Heredado de AsymmetricAlgorithm)
ImportParameters(DSAParameters)

Cuando se invalida en una clase derivada, importa el objeto DSAParameters especificado.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importa el par de claves pública/privada desde una estructura PrivateKeyInfo de PKCS#8 después del descifrado, reemplazando las claves de este objeto.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Cuando se reemplaza en una clase derivada, importa el par de claves pública/privada desde una estructura PrivateKeyInfo de PKCS#8 después del descifrado, reemplazando las claves de este objeto.

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

Importa la clave pública desde una estructura SubjectPublicKeyInfo de X.509 después del descifrado, reemplazando las claves de este objeto.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Cuando se reemplaza en una clase derivada, importa la clave pública desde una estructura SubjectPublicKeyInfo de X.509 después del descifrado, reemplazando las claves de este objeto.

(Heredado de AsymmetricAlgorithm)
MemberwiseClone()

Crea una copia superficial del Object actual.

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

Calcula el valor hash de la matriz de bytes especificada usando el algoritmo hash especificado y firma el valor hash resultante.

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Calcula el valor hash de los datos especificados y lo firma con el formato de firma especificado.

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

Calcula el valor hash de una parte de la matriz de bytes especificada usando el algoritmo hash especificado y firma el valor hash resultante.

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

Calcula el valor hash de los datos especificados y lo firma con el formato de firma especificado.

SignData(Stream, HashAlgorithmName)

Calcula el valor hash de la secuencia especificada usando el algoritmo hash especificado y firma el valor hash resultante.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Calcula el valor hash de los datos especificados y lo firma con el formato de firma especificado.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Calcula el valor hash de los datos especificados y lo firma con el formato de firma especificado.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Calcula el valor hash de los datos especificados y lo firma con el formato de firma especificado.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
ToXmlString(Boolean)

Crea y devuelve una representación en forma de cadena XML del objeto DSA actual.

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

Intenta crear la firma DSA para el valor hash especificado en el formato indicado y colocarla en el búfer proporcionado.

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

Intenta crear la firma DSA para el hash especificado en el búfer proporcionado.

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

Intenta crear la firma DSA para el valor hash especificado en el formato indicado y colocarla en el búfer proporcionado.

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

Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en bytes.

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

Cuando se reemplaza en una clase derivada, intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en bytes.

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

Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en caracteres.

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

Cuando se reemplaza en una clase derivada, intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 a un búfer proporcionado, utilizando una contraseña basada en caracteres.

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

Intenta exportar la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en bytes, codificada en PEM.

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

Exporta la clave actual en el formato EncryptedPrivateKeyInfo de PKCS#8 con una contraseña basada en caracteres, codificada en PEM.

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

Intenta exportar la clave actual en el formato PrivateKeyInfo de PKCS#8 a un búfer proporcionado.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Cuando se reemplaza en una clase derivada, intenta exportar la clave actual en el formato PrivateKeyInfo de PKCS#8 a un búfer proporcionado.

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

Intenta exportar la clave actual en el formato PKCS#8 PrivateKeyInfo codificado en PEM en un búfer proporcionado.

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

Intenta exportar la clave actual en el formato SubjectPublicKeyInfo de X.509 a un búfer proporcionado.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Cuando se reemplaza en una clase derivada, intenta exportar la clave actual en el formato SubjectPublicKeyInfo de X.509 a un búfer proporcionado.

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

Intenta exportar la clave actual en el formato X.509 SubjectPublicKeyInfo codificado en PEM en un búfer proporcionado.

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

Intenta calcular el valor hash de los datos proporcionados en un búfer proporcionado.

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

Intenta crear la firma DSA para los datos especificados en el formato indicado y colocarla en el búfer proporcionado.

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

Intenta crear la firma DSA para los datos especificados en el búfer proporcionado.

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

Intenta crear la firma DSA para los datos especificados en el formato indicado y colocarla en el búfer proporcionado.

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

Comprueba si una firma digital es válida calculando el valor hash de los datos especificados, para lo que usa el algoritmo hash especificado y lo compara con la firma proporcionada.

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

Comprueba que una firma digital sea válida para los datos proporcionados.

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

Comprueba si una firma digital es válida calculando el valor hash de los datos de una parte de una matriz de bytes, para lo que usa el algoritmo hash especificado y lo compara con la firma proporcionada.

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

Comprueba que una firma digital sea válida para los datos proporcionados.

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

Comprueba si una firma digital es válida calculando el valor hash de los datos en un intervalo de bytes, para lo que usa el algoritmo hash especificado y lo compara con la firma proporcionada.

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

Comprueba que una firma digital sea válida para los datos proporcionados.

VerifyData(Stream, Byte[], HashAlgorithmName)

Comprueba si una firma digital es válida calculando el valor hash de la secuencia especificada, para lo que usa el algoritmo hash especificado y lo compara con la firma proporcionada.

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

Comprueba que una firma digital sea válida para los datos proporcionados.

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

Comprueba que una firma digital sea válida para los datos proporcionados.

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

Comprueba que una firma digital sea válida para los datos proporcionados.

VerifySignature(Byte[], Byte[])

Cuando se reemplaza en una clase derivada, comprueba la firma DSA de los datos especificados.

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

Comprueba que una firma digital es válida para el hash proporcionado.

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

Comprueba que una firma digital sea válida para un hash de datos proporcionado.

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

Comprueba que una firma digital es válida para el hash proporcionado.

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

Comprueba que una firma digital es válida para el hash proporcionado.

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Para obtener una descripción de este miembro, vea Dispose().

(Heredado de AsymmetricAlgorithm)

Se aplica a

Consulte también