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
|
ECDsaCng, classe
Fournit une implémentation CNG (Cryptography Next Generation) de l'algorithme ECDSA (Elliptic Curve Digital Signature Algorithm).
System.Security.Cryptography.AsymmetricAlgorithm
System.Security.Cryptography.ECDsa
System.Security.Cryptography.ECDsaCng
Assembly : System.Core (dans System.Core.dll)
Le type ECDsaCng expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
ECDsaCng() | Initialise une nouvelle instance de la classe ECDsaCng avec une paire de clés générée de manière aléatoire. |
|
ECDsaCng(CngKey) | Initialise une nouvelle instance de la classe ECDsaCng à l'aide de l'objet CngKey spécifié. |
|
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. |
| Nom | Description | |
|---|---|---|
|
HashAlgorithm | Obtient ou définit l'algorithme de hachage à utiliser pour la signature et la vérification des données. |
|
Key | Obtient ou définit la clé à utiliser pour la signature et la vérification des données. |
|
KeyExchangeAlgorithm | Obtient le nom de l'algorithme d'échange de clés. (Hérité de ECDsa.) |
|
KeySize | Obtient ou définit la taille, en bits, du modulo de la 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 | Obtient le nom de l'algorithme de signature. (Hérité de ECDsa.) |
| Nom | Description | |
|---|---|---|
|
Clear | Libère toutes les ressources utilisées par la classe AsymmetricAlgorithm. (Hérité de AsymmetricAlgorithm.) |
|
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'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
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.) |
|
FromXmlString(String) | Cette méthode n'est pas implémentée. (Substitue AsymmetricAlgorithm.FromXmlString(String).) |
|
FromXmlString(String, ECKeyXmlFormat) | Désérialise les informations de clés d'une chaîne XML en utilisant le format spécifié. |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
SignData(Byte[]) | Génère une signature pour les données spécifiées. |
|
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. |
|
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é. |
|
SignHash | Génère une signature pour la valeur de hachage spécifiée. (Substitue ECDsa.SignHash(Byte[]).) |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
|
ToXmlString(Boolean) | Cette méthode n'est pas implémentée. (Substitue AsymmetricAlgorithm.ToXmlString(Boolean).) |
|
ToXmlString(ECKeyXmlFormat) | Sérialise les informations de clés en une chaîne XML en utilisant le format spécifié. |
|
VerifyData(Byte[], Byte[]) | Vérifie la signature numérique des données spécifiées. |
|
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. |
|
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é. |
|
VerifyHash | Vérifie la signature numérique spécifiée par rapport à une valeur de hachage spécifiée. (Substitue ECDsa.VerifyHash(Byte[], Byte[]).) |
| Nom | Description | |
|---|---|---|
|
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.) |
Cette classe est dérivée de la classe de base abstraite ECDsa.
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"); } } }
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.
Remarque