DSA Classe

Définition

Représente la classe de base abstraite dont toutes les implémentations de Digital Signature Algorithm (DSA) doivent hériter.

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
Héritage
Dérivé
Attributs

Remarques

Vous pouvez utiliser la classe et les DSA classes dérivées pour créer des signatures numériques qui contribuent à protéger l’intégrité de vos données. fournit DSACryptoServiceProvider une implémentation de cette classe.

Pour utiliser un système à clé publique pour signer numériquement un message, l’expéditeur applique d’abord une fonction de hachage au message afin de créer un résumé de message. L’expéditeur chiffre ensuite la synthèse de message avec la clé privée de l’expéditeur pour créer la signature personnelle de l’expéditeur. Lors de la réception du message et de la signature, le récepteur déchiffre la signature à l’aide de la clé publique de l’expéditeur pour récupérer la synthèse du message et hache le message à l’aide du même algorithme de hachage que celui utilisé par l’expéditeur. Si le résumé de message que le récepteur calcule correspond exactement au condensé de message reçu de l’expéditeur, le destinataire peut supposer que le message n’a pas été modifié pendant son transit. Notez qu’une signature peut être vérifiée par tout le monde, car la clé publique de l’expéditeur est de notoriété publique.

Important

Les créateurs de l’algorithme DSA ont retiré leur prise en charge pour celui-ci. Envisagez d’utiliser la RSA classe ou la ECDsa classe à la place de la DSA classe . Utilisez DSA uniquement pour la compatibilité avec les applications et les données héritées.

Il existe deux versions différentes de l’algorithme DSA. La forme d’origine, décrite dans FIPS 186-2, nécessite l’utilisation de SHA-1 comme algorithme de hachage et prend en charge des longueurs de clé comprises entre 512 bits et 1 024 bits par incréments de 64 bits. Une version mise à jour de l’algorithme a été décrite dans FIPS 186-3, qui a activé l’utilisation de la famille d’algorithmes de hachage SHA-2 et ajouté la prise en charge des clés de 2 048 bits et des clés de 3 072 bits. Toutes les implémentations dérivées de ce type ne prennent pas en charge les améliorations de FIPS 186-3 apportées à DSA. La prise en charge peut être détectée via la LegalKeySizes propriété .

Constructeurs

DSA()

Initialise une nouvelle instance de la classe DSA.

Champs

KeySizeValue

Représente la taille, en bits, du modulo de la clé utilisé par l'algorithme asymétrique.

(Hérité de AsymmetricAlgorithm)
LegalKeySizesValue

Spécifie les tailles de clé prises en charge par l'algorithme asymétrique.

(Hérité de AsymmetricAlgorithm)

Propriétés

KeyExchangeAlgorithm

En cas de substitution dans une classe dérivée, obtient le nom de l'algorithme d'échange de clés. Sinon, lève un NotImplementedException.

(Hérité de AsymmetricAlgorithm)
KeySize

Obtient ou définit la taille, en bits, du modulo de clé utilisé par l'algorithme asymétrique.

(Hérité de AsymmetricAlgorithm)
LegalKeySizes

Obtient les tailles de clé prises en charge par l'algorithme asymétrique.

(Hérité de AsymmetricAlgorithm)
SignatureAlgorithm

En cas d'implémentation dans une classe dérivée, obtient le nom de l'algorithme de signature. Sinon, lève toujours un NotImplementedException.

(Hérité de AsymmetricAlgorithm)

Méthodes

Clear()

Libère toutes les ressources utilisées par la classe AsymmetricAlgorithm.

(Hérité de AsymmetricAlgorithm)
Create()

Crée l'objet de chiffrement par défaut utilisé pour exécuter l'algorithme asymétrique.

Create(DSAParameters)

Crée une clé DSA éphémère avec les paramètres de clé DSA spécifiés.

Create(Int32)

Crée une clé DSA éphémère avec la taille de clé spécifiée.

Create(String)
Obsolète.

Crée l'objet de chiffrement spécifié utilisé pour exécuter l'algorithme asymétrique.

CreateSignature(Byte[])

En cas de substitution dans une classe dérivée, crée la signature DSA pour la valeur de hachage spécifiée.

CreateSignature(Byte[], DSASignatureFormat)

Crée la signature DSA pour la valeur de hachage spécifiée dans le format indiqué.

CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Crée la signature DSA pour la valeur de hachage spécifiée dans le format indiqué.

Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe AsymmetricAlgorithm.

(Hérité de AsymmetricAlgorithm)
Dispose(Boolean)

Libère les ressources non managées utilisées par la classe AsymmetricAlgorithm et libère éventuellement les ressources managées.

(Hérité de AsymmetricAlgorithm)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur l’octet.

(Hérité de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur char.

(Hérité de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur des octets, encodé PEM.

(Hérité de AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur char, pem encodé.

(Hérité de AsymmetricAlgorithm)
ExportParameters(Boolean)

En cas de remplacement dans une classe dérivée, exporte les éléments DSAParameters.

ExportPkcs8PrivateKey()

Exporte la clé actuelle au format PKCS#8 PrivateKeyInfo.

(Hérité de AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Exporte la clé actuelle au format PKCS#8 PrivateKeyInfo, encodé PEM.

(Hérité de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Exporte la partie clé publique de la clé actuelle au format X.509 SubjectPublicKeyInfo.

(Hérité de AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Exporte la partie de clé publique de la clé actuelle au format X.509 SubjectPublicKeyInfo, encodé PEM.

(Hérité de AsymmetricAlgorithm)
FromXmlString(String)

Reconstruit un objet DSA à partir d'une chaîne XML.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetMaxSignatureSize(DSASignatureFormat)

Obtient la plus grande taille, en octets, pour une signature produite par cette clé dans le format indiqué.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

En cas de remplacement dans une classe dérivée, calcule la valeur de hachage de la partie spécifiée d’un tableau d’octets à l’aide d’un algorithme de hachage spécifié.

HashData(Stream, HashAlgorithmName)

En cas de remplacement dans une classe dérivée, calcule la valeur de hachage du flux binaire spécifié en utilisant un algorithme de hachage spécifié.

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

Importe la paire de clés publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement avec un mot de passe basé sur l’octet, en remplaçant les clés de cet objet.

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

Quand il est remplacé dans une classe dérivée, importe la paire de clés publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement avec un mot de passe basé sur l’octet, en remplaçant les clés de cet objet.

(Hérité de AsymmetricAlgorithm)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Importe la paire de clés publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement avec un mot de passe basé sur char, en remplaçant les clés de cet objet.

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

Quand il est remplacé dans une classe dérivée, importe la paire de clés publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement avec un mot de passe basé sur char, en remplaçant les clés de cet objet.

(Hérité de AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Importe une clé privée chiffrée encodée en PEM RFC 7468, en remplaçant les clés de cet objet.

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

En cas de substitution dans une classe dérivée, importe une clé chiffrée encodée RFC 7468 PEM, en remplaçant les clés de cet objet.

(Hérité de AsymmetricAlgorithm)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Importe une clé privée chiffrée encodée en PEM RFC 7468, en remplaçant les clés de cet objet.

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

En cas de substitution dans une classe dérivée, importe une clé chiffrée encodée RFC 7468 PEM, en remplaçant les clés de cet objet.

(Hérité de AsymmetricAlgorithm)
ImportFromPem(ReadOnlySpan<Char>)

Importe une clé encodée PEM RFC 7468, en remplaçant les clés de cet objet.

ImportFromPem(ReadOnlySpan<Char>)

En cas de substitution dans une classe dérivée, importe une clé encodée texte RFC 7468, en remplaçant les clés de cet objet.

(Hérité de AsymmetricAlgorithm)
ImportParameters(DSAParameters)

En cas de remplacement dans une classe dérivée, importe les éléments DSAParameters spécifiés.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Importe la paire de clés publique/privée à partir d’une structure PKCS#8 PrivateKeyInfo après le déchiffrement, en remplaçant les clés de cet objet.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Quand il est remplacé dans une classe dérivée, importe la paire de clés publique/privée à partir d’une structure PKCS#8 PrivateKeyInfo après le déchiffrement, en remplaçant les clés de cet objet.

(Hérité de AsymmetricAlgorithm)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Importe la clé publique à partir d’une structure X.509 SubjectPublicKeyInfo après le déchiffrement, en remplaçant les clés de cet objet.

ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Quand il est remplacé dans une classe dérivée, importe la clé publique à partir d’une structure X.509 SubjectPublicKeyInfo après le déchiffrement, en remplaçant les clés de cet objet.

(Hérité de AsymmetricAlgorithm)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
SignData(Byte[], HashAlgorithmName)

Calcule la valeur de hachage du tableau d'octets indiqué à l'aide de l'algorithme de hachage spécifié et signe la valeur de hachage obtenue.

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Calcule la valeur de hachage des données spécifiées et la signe à l’aide du format de signature spécifié.

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

Calcule la valeur de hachage d'une partie du tableau d'octets indiqué à l'aide de l'algorithme de hachage spécifié et signe la valeur de hachage obtenue.

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

Calcule la valeur de hachage des données spécifiées et la signe à l’aide du format de signature spécifié.

SignData(Stream, HashAlgorithmName)

Calcule la valeur de hachage du flux indiqué à l'aide de l'algorithme de hachage spécifié et signe la valeur de hachage obtenue.

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Calcule la valeur de hachage des données spécifiées et la signe à l’aide du format de signature spécifié.

SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Calcule la valeur de hachage des données spécifiées et la signe à l’aide du format de signature spécifié.

SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Calcule la valeur de hachage des données spécifiées et la signe à l’aide du format de signature spécifié.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
ToXmlString(Boolean)

Crée et retourne une représentation de la chaîne XML de l'objet DSA en cours.

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

Tente de créer la signature DSA pour la valeur de hachage spécifiée dans le format indiqué et de la placer dans la mémoire tampon fournie.

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

Tente de créer la signature DSA pour le hachage spécifié dans la mémoire tampon fournie.

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

Tente de créer la signature DSA pour la valeur de hachage spécifiée dans le format indiqué et de la placer dans la mémoire tampon fournie.

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

Tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo dans une mémoire tampon fournie, à l’aide d’un mot de passe basé sur l’octet.

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

Quand il est remplacé dans une classe dérivée, tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo dans une mémoire tampon fournie, à l’aide d’un mot de passe basé sur l’octet.

(Hérité de AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo dans une mémoire tampon fournie, à l’aide d’un mot de passe basé sur char.

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

Quand il est remplacé dans une classe dérivée, tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo dans une mémoire tampon fournie, à l’aide d’un mot de passe basé sur char.

(Hérité de AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur un octet, encodé PEM.

(Hérité de AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur char, pem encodé.

(Hérité de AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Tente d’exporter la clé actuelle au format PKCS#8 PrivateKeyInfo dans une mémoire tampon fournie.

TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Quand il est remplacé dans une classe dérivée, tente d’exporter la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo dans une mémoire tampon fournie.

(Hérité de AsymmetricAlgorithm)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Tente d’exporter la clé actuelle au format PrivateKeyInfo PKCS#8 encodé en PEM dans une mémoire tampon fournie.

(Hérité de AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Tente d’exporter la clé actuelle au format X.509 SubjectPublicKeyInfo dans une mémoire tampon fournie.

TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Quand il est remplacé dans une classe dérivée, tente d’exporter la clé actuelle au format X.509 SubjectPublicKeyInfo dans une mémoire tampon fournie.

(Hérité de AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Tente d’exporter la clé actuelle dans le format X.509 SubjectPublicKeyInfo encodé en PEM dans une mémoire tampon fournie.

(Hérité de AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Tente de calculer la valeur de hachage des données fournies dans une mémoire tampon fournie.

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

Tente de créer la signature DSA pour les données spécifiées dans le format indiqué et de les placer dans la mémoire tampon fournie.

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

Tente de créer la signature DSA pour les données spécifiées dans la mémoire tampon fournie.

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

Tente de créer la signature DSA pour les données spécifiées dans le format indiqué et de les placer dans la mémoire tampon fournie.

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

Vérifie qu'une signature numérique est valide en calculant la valeur de hachage des données indiquées à l'aide de l'algorithme de hachage spécifié et en la comparant à la signature fournie.

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

Vérifie qu’une signature numérique est valide pour les données fournies.

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

Vérifie qu'une signature numérique est valide en calculant la valeur de hachage des données dans une partie d'un tableau d'octets à l'aide de l'algorithme de hachage spécifié et en la comparant à la signature fournie.

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

Vérifie qu’une signature numérique est valide pour les données fournies.

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

Vérifie qu’une signature numérique est valide en calculant la valeur de hachage des données dans une plage d’octets à l’aide de l’algorithme de hachage spécifié et en la comparant à la signature fournie.

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

Vérifie qu’une signature numérique est valide pour les données fournies.

VerifyData(Stream, Byte[], HashAlgorithmName)

Vérifie qu'une signature numérique est valide en calculant la valeur de hachage du flux indiqué à l'aide de l'algorithme de hachage spécifié et en la comparant à la signature fournie.

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

Vérifie qu’une signature numérique est valide pour les données fournies.

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

Vérifie qu’une signature numérique est valide pour les données fournies.

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

Vérifie qu’une signature numérique est valide pour les données fournies.

VerifySignature(Byte[], Byte[])

Substitué dans une classe dérivée, vérifie la signature DSA pour les données spécifiées.

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

Vérifie qu’une signature numérique est valide pour le hachage fourni.

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

Vérifie qu’une signature numérique est valide pour un hachage de données fourni.

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

Vérifie qu’une signature numérique est valide pour le hachage fourni.

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

Vérifie qu’une signature numérique est valide pour le hachage fourni.

Implémentations d’interfaces explicites

IDisposable.Dispose()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Pour obtenir une description de ce membre, consultez Dispose().

(Hérité de AsymmetricAlgorithm)

S’applique à

Voir aussi