Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ECDsaCng, classe

Fournit une implémentation CNG (Cryptography Next Generation) de l'algorithme ECDSA (Elliptic Curve Digital Signature Algorithm).

Espace de noms :  System.Security.Cryptography
Assembly :  System.Core (dans System.Core.dll)
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public sealed class ECDsaCng : ECDsa

Le type ECDsaCng expose les membres suivants.

  Nom Description
Méthode publique ECDsaCng() Initialise une nouvelle instance de la classe ECDsaCng avec une paire de clés générée de manière aléatoire.
Méthode publique ECDsaCng(CngKey) Initialise une nouvelle instance de la classe ECDsaCng à l'aide de l'objet CngKey spécifié.
Méthode publique ECDsaCng(Int32) Initialise une nouvelle instance de la classe ECDsaCng avec une paire de clés aléatoire, en utilisant la taille de clé spécifiée.
Début
  Nom Description
Propriété publique HashAlgorithm Obtient ou définit l'algorithme de hachage à utiliser pour la signature et la vérification des données.
Propriété publique Key Obtient ou définit la clé à utiliser pour la signature et la vérification des données.
Propriété publique KeyExchangeAlgorithm Obtient le nom de l'algorithme d'échange de clés. (Hérité de ECDsa.)
Propriété publique KeySize Obtient ou définit la taille, en bits, du modulo de la clé utilisé par l'algorithme asymétrique. (Hérité de AsymmetricAlgorithm.)
Propriété publique LegalKeySizes Obtient les tailles de clé prises en charge par l'algorithme asymétrique. (Hérité de AsymmetricAlgorithm.)
Propriété publique SignatureAlgorithm Obtient le nom de l'algorithme de signature. (Hérité de ECDsa.)
Début
  Nom Description
Méthode publique Clear Libère toutes les ressources utilisées par la classe AsymmetricAlgorithm. (Hérité de AsymmetricAlgorithm.)
Méthode publique Dispose() Libère toutes les ressources utilisées par l'instance actuelle de la classe AsymmetricAlgorithm. (Hérité de AsymmetricAlgorithm.)
Méthode protégée 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.)
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique FromXmlString(String) Cette méthode n'est pas implémentée. (Substitue AsymmetricAlgorithm.FromXmlString(String).)
Méthode publique FromXmlString(String, ECKeyXmlFormat) Désérialise les informations de clés d'une chaîne XML en utilisant le format spécifié.
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique SignData(Byte[]) Génère une signature pour les données spécifiées.
Méthode publique SignData(Stream) Génère une signature pour le flux de données spécifié, en lisant jusqu'à la fin le flux de données.
Méthode publique SignData(Byte[], Int32, Int32) Génère une signature numérique pour la longueur spécifiée de données, en commençant à l'offset spécifié.
Méthode publique SignHash Génère une signature pour la valeur de hachage spécifiée. (Substitue ECDsa.SignHash(Byte[]).)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique ToXmlString(Boolean) Cette méthode n'est pas implémentée. (Substitue AsymmetricAlgorithm.ToXmlString(Boolean).)
Méthode publique ToXmlString(ECKeyXmlFormat) Sérialise les informations de clés en une chaîne XML en utilisant le format spécifié.
Méthode publique VerifyData(Byte[], Byte[]) Vérifie la signature numérique des données spécifiées.
Méthode publique VerifyData(Stream, Byte[]) Vérifie la signature numérique du flux de données spécifié, en lisant jusqu'à la fin le flux de données.
Méthode publique VerifyData(Byte[], Int32, Int32, Byte[]) Vérifie une signature pour la longueur spécifiée de données, en commençant à l'offset spécifié.
Méthode publique VerifyHash Vérifie la signature numérique spécifiée par rapport à une valeur de hachage spécifiée. (Substitue ECDsa.VerifyHash(Byte[], Byte[]).)
Début
  Nom Description
Champ protégé KeySizeValue Représente la taille, en bits, du modulo de la clé utilisé par l'algorithme asymétrique. (Hérité de AsymmetricAlgorithm.)
Champ protégé LegalKeySizesValue Spécifie les tailles de clé prises en charge par l'algorithme asymétrique. (Hérité de AsymmetricAlgorithm.)
Début

Cette classe est dérivée de la classe de base abstraite ECDsa.

Remarque Remarque

L'attribut HostProtectionAttribute appliqué à ce type ou membre a la valeur de propriété Resources suivante : MayLeakOnAbort. HostProtectionAttribute n'affecte pas les applications bureautiques (qui sont généralement démarrées en double-cliquant sur une icône, en tapant une commande ou en entrant une URL dans un navigateur). Pour plus d'informations, consultez la classe HostProtectionAttribute ou Attributs de programmation et de protection des hôtes SQL Server.

L'exemple suivant indique comment utiliser la classe ECDsaCng pour signer un message et comment utiliser la signature pour vérifier que le message n'a pas été modifié.


using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;


class Alice
{
    public static void Main(string[] args)
    {
        Bob bob = new Bob();
        {
            using (ECDsaCng dsa = new ECDsaCng())
            {
                dsa.HashAlgorithm = CngAlgorithm.Sha256;
                bob.key = dsa.Key.Export(CngKeyBlobFormat.EccPublicBlob);

                byte[] data = new byte[] { 21, 5, 8, 12, 207 };

                byte[] signature = dsa.SignData(data);

                bob.Receive(data, signature);
            }
        }
    }


}
public class Bob 
{
    public byte[] key;


    public void Receive(byte[] data, byte[] signature)
    {
        using (ECDsaCng ecsdKey = new ECDsaCng(CngKey.Import(key, CngKeyBlobFormat.EccPublicBlob)))
        {
            if (ecsdKey.VerifyData(data, signature))
                Console.WriteLine("Data is good");
            else
                Console.WriteLine("Data is bad");
        }
    }
}


.NET Framework

Pris en charge dans : 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Date

Historique

Motif

Mars 2011

Exemple ajouté.

Améliorations apportées aux informations.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ