DSA Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente la classe de base abstraite à partir de laquelle toutes les implémentations de l’algorithme de signature numérique (DSA) doivent hériter.
public ref class DSA abstract : 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
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 DSA classe et les classes dérivées pour créer des signatures numériques qui aident à 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 pour créer une synthèse de message. L’expéditeur chiffre ensuite le résumé du 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 destinataire déchiffre la signature à l’aide de la clé publique de l’expéditeur pour récupérer le résumé du message et hachage le message à l’aide du même algorithme de hachage que celui utilisé par l’expéditeur. Si le résumé du message que le récepteur calcule exactement correspond au résumé du message reçu de l’expéditeur, le destinataire peut supposer que le message n’a pas été modifié pendant le transit. Notez qu’une signature peut être vérifiée par tout le monde, car la clé publique de l’expéditeur est une connaissance commune.
Important
Les créateurs de l’algorithme DSA ont retiré leur prise en charge. Envisagez d’utiliser la RSA classe ou la ECDsa classe au lieu de la DSA classe. Utilisez DSA uniquement pour la compatibilité avec les applications et données héritées.
Deux versions différentes de l’algorithme DSA existent. Le formulaire d’origine, décrit dans FIPS 186-2, nécessite l’utilisation de SHA-1 comme algorithme de hachage et prend en charge les longueurs de clé comprises entre 512 bits et 1024 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 a ajouté la prise en charge des clés 2048 bits et des clés 3072 bits. Toutes les implémentations dérivées de ce type ne prennent pas en charge les améliorations fiPS 186-3 apportées à DSA. La prise en charge peut être détectée via la LegalKeySizes propriété.
Constructeurs
| Nom | Description |
|---|---|
| DSA() |
Initialise une nouvelle instance de la classe DSA. |
Champs
| Nom | Description |
|---|---|
| KeySizeValue |
Représente la taille, en bits, du module de 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
| Nom | Description |
|---|---|
| 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 module 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
| Nom | Description |
|---|---|
| Clear() |
Libère toutes les ressources utilisées par la AsymmetricAlgorithm classe. (Hérité de AsymmetricAlgorithm) |
| Create() |
Crée l’objet de chiffrement par défaut utilisé pour effectuer 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) |
Crée l’objet de chiffrement spécifié utilisé pour effectuer l’algorithme asymétrique. |
| CreateSignature(Byte[]) |
En cas de substitution dans une classe dérivée, crée la DSA signature pour la valeur de hachage spécifiée. |
| Dispose() |
Libère toutes les ressources utilisées par l’instance actuelle de la AsymmetricAlgorithm classe. (Hérité de AsymmetricAlgorithm) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par la AsymmetricAlgorithm classe 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 des octets. (Hérité de AsymmetricAlgorithm) |
| ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters) |
Exporte la clé actuelle au format PKCS#8 EncryptedPrivateKeyInfo avec un mot de passe basé sur le caractère. (Hérité de AsymmetricAlgorithm) |
| ExportParameters(Boolean) |
En cas de substitution dans une classe dérivée, exporte le DSAParameters. |
| ExportPkcs8PrivateKey() |
Exporte la clé actuelle au format PKCS#8 PrivateKeyInfo. (Hérité de AsymmetricAlgorithm) |
| ExportSubjectPublicKeyInfo() |
Exporte la partie clé publique de la clé active au format X.509 SubjectPublicKeyInfo. (Hérité de AsymmetricAlgorithm) |
| FromXmlString(String) |
Reconstruit un DSA objet à partir d’une chaîne XML. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| HashData(Byte[], Int32, Int32, HashAlgorithmName) |
En cas de substitution dans une classe dérivée, calcule la valeur de hachage d’une partie spécifiée d’un tableau d’octets à l’aide d’un algorithme de hachage spécifié. |
| HashData(Stream, HashAlgorithmName) |
En cas de substitution dans une classe dérivée, calcule la valeur de hachage d’un flux binaire spécifié à l’aide d’un algorithme de hachage spécifié. |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32) |
En cas de substitution dans une classe dérivée, importe la clé publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement par un mot de passe basé sur des octets, en remplaçant les clés de cet objet. (Hérité de AsymmetricAlgorithm) |
| ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32) |
En cas de substitution dans une classe dérivée, importe la clé publique/privée à partir d’une structure PKCS#8 EncryptedPrivateKeyInfo après le déchiffrement par un mot de passe basé sur un caractère, en remplaçant les clés de cet objet. (Hérité de AsymmetricAlgorithm) |
| ImportParameters(DSAParameters) |
En cas de substitution dans une classe dérivée, importe le fichier spécifié DSAParameters. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
En cas de substitution dans une classe dérivée, importe la clé 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) |
En cas de substitution 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 Objectactuel. (Hérité de Object) |
| SignData(Byte[], HashAlgorithmName) |
Calcule la valeur de hachage du tableau d’octets spécifié à l’aide de l’algorithme de hachage spécifié et signe la valeur de hachage résultante. |
| SignData(Byte[], Int32, Int32, HashAlgorithmName) |
Calcule la valeur de hachage d’une partie du tableau d’octets spécifié à l’aide de l’algorithme de hachage spécifié et signe la valeur de hachage résultante. |
| SignData(Stream, HashAlgorithmName) |
Calcule la valeur de hachage du flux spécifié à l’aide de l’algorithme de hachage spécifié et signe la valeur de hachage résultante. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| ToXmlString(Boolean) |
Crée et retourne une représentation sous forme de chaîne XML de l’objet actif DSA . |
| TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Tente de créer la signature DSA pour le hachage spécifié dans la mémoire tampon fournie. |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32) |
En cas de substitution 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 des octets. (Hérité de AsymmetricAlgorithm) |
| TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32) |
En cas de substitution 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 le caractère. (Hérité de AsymmetricAlgorithm) |
| TryExportPkcs8PrivateKey(Span<Byte>, Int32) |
En cas de substitution dans une classe dérivée, tente d’exporter la clé actuelle au format PKCS#8 PrivateKeyInfo dans une mémoire tampon fournie. (Hérité de AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
En cas de substitution 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) |
| 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, Int32) |
Tente de créer la signature DSA pour les données spécifiées 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 spécifiées à l’aide de l’algorithme de hachage spécifié et en la comparant à la signature fournie. |
| 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(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 étendue d’octets à l’aide de l’algorithme de hachage spécifié et en la comparant à la signature fournie. |
| VerifyData(Stream, Byte[], HashAlgorithmName) |
Vérifie qu’une signature numérique est valide en calculant la valeur de hachage du flux spécifié à l’aide de l’algorithme de hachage spécifié et en la comparant à la signature fournie. |
| VerifySignature(Byte[], Byte[]) |
En cas de substitution dans une classe dérivée, vérifie la DSA signature des données spécifiées. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Vérifie qu’une signature numérique est valide pour un hachage de données fourni. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| 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) |