Lire en anglais

Partager via


AsnEncodedData Classe

Définition

Représente des données encodées ASN.1 (Abstract Syntax Notation One).

C#
public class AsnEncodedData
Héritage
AsnEncodedData
Dérivé

Exemples

L'exemple de code suivant montre comment utiliser la classe AsnEncodedData.

C#
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

class AsnEncodedDataSample
{
    static void Main()
    {		
        //The following example demonstrates the usage the AsnEncodedData classes.
        // Asn encoded data is read from the extensions of an X509 certificate.
        try
        {
            // Open the certificate store.
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
            // Select one or more certificates to display extensions information.
            X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Certificate Select", "Select certificates from the following list to get extension information on that certificate", X509SelectionFlag.MultiSelection);

            // Create a new AsnEncodedDataCollection object.
            AsnEncodedDataCollection asncoll = new AsnEncodedDataCollection();
            for (int i = 0; i < scollection.Count; i++)
            {
                // Display certificate information.
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Certificate name: {0}", scollection[i].GetName());
                Console.ResetColor();
                // Display extensions information.
                foreach (X509Extension extension in scollection[i].Extensions)
                {
                    // Create an AsnEncodedData object using the extensions information.
                    AsnEncodedData asndata = new AsnEncodedData(extension.Oid, extension.RawData);
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Extension type: {0}", extension.Oid.FriendlyName);
                    Console.WriteLine("Oid value: {0}",asndata.Oid.Value);
                    Console.WriteLine("Raw data length: {0} {1}", asndata.RawData.Length, Environment.NewLine);
                    Console.ResetColor();
                    Console.WriteLine(asndata.Format(true));
                    Console.WriteLine(Environment.NewLine);
                    // Add the AsnEncodedData object to the AsnEncodedDataCollection object.
                    asncoll.Add(asndata);
                }
                Console.WriteLine(Environment.NewLine);
            }
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Number of AsnEncodedData items in the collection: {0} {1}", asncoll.Count, Environment.NewLine);
            Console.ResetColor();

            store.Close();
            //Create an enumerator for moving through the collection.
            AsnEncodedDataEnumerator asne = asncoll.GetEnumerator();
            //You must execute a MoveNext() to get to the first item in the collection.
            asne.MoveNext();
            // Write out AsnEncodedData in the collection.
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("First AsnEncodedData in the collection: {0}", asne.Current.Format(true));
            Console.ResetColor();

            asne.MoveNext();
            Console.ForegroundColor = ConsoleColor.DarkBlue;
            Console.WriteLine("Second AsnEncodedData in the collection: {0}", asne.Current.Format(true));
            Console.ResetColor();
            //Return index in the collection to the beginning.
            asne.Reset();
        }
        catch (CryptographicException)
        {
            Console.WriteLine("Information could not be written out for this certificate.");
        }
    }
}

Remarques

La notation syntaxique abstraite 1 (ASN.1), définie dans la recommandation CCITT X.208, permet de spécifier des objets abstraits qui seront transmis en série. L’ensemble de règles ASN.1 pour représenter des objets tels que des chaînes de un et de zéros est appelé règles d’encodage unique (DER) et est défini dans la recommandation CCITT X.509, section 8.7. Ces méthodes d’encodage sont actuellement utilisées par l’espace de noms de chiffrement dans le .NET Framework.

Notez que si un type de données inconnu est rencontré lors de l’accès à une instance de cette classe, les données sont retournées sous forme de chaîne hexadécimale.

Constructeurs

AsnEncodedData()

Initialise une nouvelle instance de la classe AsnEncodedData.

AsnEncodedData(AsnEncodedData)

Initialise une nouvelle instance de la classe AsnEncodedData à l'aide d'une instance de la classe AsnEncodedData.

AsnEncodedData(Byte[])

Initialise une nouvelle instance de la classe AsnEncodedData à l'aide d'un tableau d'octets.

AsnEncodedData(Oid, Byte[])

Initialise une nouvelle instance de la classe AsnEncodedData à l'aide d'un objet Oid et d'un tableau d'octets.

AsnEncodedData(Oid, ReadOnlySpan<Byte>)

Initialise une nouvelle instance de la classe AsnEncodedData à partir d’un identificateur d’objet (OID) et de données encodées existantes.

AsnEncodedData(ReadOnlySpan<Byte>)

Initialise une nouvelle instance de la classe AsnEncodedData à partir de données encodées existantes.

AsnEncodedData(String, Byte[])

Initialise une nouvelle instance de la classe AsnEncodedData à l'aide d'un tableau d'octets.

AsnEncodedData(String, ReadOnlySpan<Byte>)

Initialise une nouvelle instance de la classe AsnEncodedData à partir d’un identificateur d’objet (OID) et de données encodées existantes.

Propriétés

Oid

Obtient ou définit la valeur Oid pour un objet AsnEncodedData.

RawData

Obtient ou définit les données encodées ASN.1 (Abstract Syntax Notation One) représentées dans un tableau d'octets.

Méthodes

CopyFrom(AsnEncodedData)

Copie les informations d'un objet AsnEncodedData.

Equals(Object)

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

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

Retourne une version mise en forme des données encodées ASN.1 (Abstract Syntax Notation One) sous forme de chaîne.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1