AsnEncodedData Klasa

Definicja

Reprezentuje dane zakodowane w składni abstrakcyjnej 1 (ASN.1).

C#
public class AsnEncodedData
Dziedziczenie
AsnEncodedData
Pochodne

Przykłady

W poniższym przykładzie kodu pokazano, jak używać AsnEncodedData klasy.

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.");
        }
    }
}

Uwagi

Abstrakcyjna składnia Notation One (ASN.1), która jest zdefiniowana w rekomendacji CCITT X.208, jest sposobem określania abstrakcyjnych obiektów, które będą przesyłane szeregowo. Zestaw reguł ASN.1 reprezentujących takie obiekty, jak ciągi i zera, jest nazywany regułami kodowania wyróżniającego (DER) i jest zdefiniowany w rekomendacji CCITT X.509, sekcja 8.7. Te metody kodowania są obecnie używane przez przestrzeń nazw kryptografii w programie .NET Framework.

Należy pamiętać, że jeśli podczas uzyskiwania dostępu do wystąpienia tej klasy napotkano nieznany typ danych, dane są zwracane jako ciąg szesnastkowy.

Konstruktory

AsnEncodedData()

Inicjuje nowe wystąpienie klasy AsnEncodedData.

AsnEncodedData(AsnEncodedData)

Inicjuje AsnEncodedData nowe wystąpienie klasy przy użyciu wystąpienia AsnEncodedData klasy.

AsnEncodedData(Byte[])

Inicjuje AsnEncodedData nowe wystąpienie klasy przy użyciu tablicy bajtów.

AsnEncodedData(Oid, Byte[])

Inicjuje AsnEncodedData nowe wystąpienie klasy przy użyciu Oid obiektu i tablicy bajtów.

AsnEncodedData(Oid, ReadOnlySpan<Byte>)

Inicjuje AsnEncodedData nowe wystąpienie klasy z identyfikatora obiektu (OID) i istniejących zakodowanych danych.

AsnEncodedData(ReadOnlySpan<Byte>)

Inicjuje AsnEncodedData nowe wystąpienie klasy z istniejących zakodowanych danych.

AsnEncodedData(String, Byte[])

Inicjuje AsnEncodedData nowe wystąpienie klasy przy użyciu tablicy bajtów.

AsnEncodedData(String, ReadOnlySpan<Byte>)

Inicjuje AsnEncodedData nowe wystąpienie klasy z identyfikatora obiektu (OID) i istniejących zakodowanych danych.

Właściwości

Oid

Pobiera lub ustawia Oid wartość obiektu AsnEncodedData .

RawData

Pobiera lub ustawia dane zakodowane w postaci składni abstrakcyjnej (ASN.1) zakodowane w tablicy bajtów.

Metody

CopyFrom(AsnEncodedData)

Kopiuje informacje z AsnEncodedData obiektu.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Format(Boolean)

Zwraca sformatowaną wersję danych zakodowanych w składni abstrakcyjnej (ASN.1) jako ciąg.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Produkt Wersje
.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