X500DistinguishedName Klasa

Definicja

Reprezentuje nazwę wyróżniającą certyfikatu X509. Klasa ta nie może być dziedziczona.

C#
public sealed class X500DistinguishedName : System.Security.Cryptography.AsnEncodedData
Dziedziczenie
X500DistinguishedName

Przykłady

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

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

class X500Sample
{
    static void Main()
    {
        try
        {
            X509Store store = new("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = store.Certificates;
            X509Certificate2Collection fcollection = collection.Find(
                X509FindType.FindByTimeValid,
                DateTime.Now, false
                );
            X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(
                fcollection,
                "Test Certificate Select",
                "Select a certificate from the following list to get information on that certificate",
                X509SelectionFlag.MultiSelection
                );
            Console.WriteLine($"Number of certificates: {scollection.Count}{Environment.NewLine}");
            foreach (X509Certificate2 x509 in scollection)
            {
                X500DistinguishedName dname = new(
                    x509.SubjectName.Name,
                    X500DistinguishedNameFlags.Reversed | X500DistinguishedNameFlags.UseSemicolons
                    );
                Console.WriteLine("X500DistinguishedName: {0}{1}", dname.Name, Environment.NewLine);
                x509.Reset();
            }
            store.Close();
        }
        catch (CryptographicException)
        {
            Console.WriteLine("Information could not be written out for this certificate.");
        }
    }
}

Uwagi

Ta klasa jest jak rozszerzenie do SubjectName właściwości lub IssuerName , która jest nazwą osoby lub jednostki, do której jest wystawiany certyfikat. X.500 to międzynarodowy standard usług katalogowych rozproszonych. Nazwa wyróżniająca używa następującego formatu:

[X500:/C=CountryCode/O=Organization/OU=OrganizationUnit/CN=CommonName]

Obowiązują następujące limity długości pola:

Pole Limit długości
CountryCode 2 znaki
Organizacja Maksymalnie 64 znaki
OrganizacjaUnit Maksymalnie 32 znaki
Nazwa pospolita Maksymalnie 64 znaki

Należy przestrzegać następujących wytycznych:

  • Wartości pól mogą być wielkie lub małe.

  • Ograniczniki są znakami ukośnikowymi (/) i muszą pojawić się przed pierwszą wartością i między kolejnymi wartościami.

  • Ograniczniki można śledzić spacją.

Poniżej przedstawiono przykład poprawnie sformatowanej nazwy: [X500:/ C=US/ O=Microsoft/ OU=WGA/ CN=TedSt]

Konstruktory

X500DistinguishedName(AsnEncodedData)

Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego AsnEncodedData obiektu.

X500DistinguishedName(Byte[])

Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z określonej tablicy bajtów.

X500DistinguishedName(ReadOnlySpan<Byte>)

Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z podanych danych.

X500DistinguishedName(String)

Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z określonego ciągu.

X500DistinguishedName(String, X500DistinguishedNameFlags)

Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego ciągu i X500DistinguishedNameFlags flagi.

X500DistinguishedName(X500DistinguishedName)

Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego X500DistinguishedName obiektu.

Właściwości

Name

Pobiera rozdzielaną przecinkami nazwę wyróżniającą z certyfikatu X500.

Oid

Pobiera lub ustawia Oid wartość obiektu AsnEncodedData .

(Odziedziczone po AsnEncodedData)
RawData

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

(Odziedziczone po AsnEncodedData)

Metody

CopyFrom(AsnEncodedData)

Kopiuje informacje z AsnEncodedData obiektu.

(Odziedziczone po AsnEncodedData)
Decode(X500DistinguishedNameFlags)

Dekoduje nazwę wyróżniającą przy użyciu cech określonych przez flag parametr .

EnumerateRelativeDistinguishedNames(Boolean)

Iteruje wartości RelativeDistinguishedName w ramach tej wartości nazwy wyróżniającej.

Equals(Object)

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

(Odziedziczone po Object)
Format(Boolean)

Zwraca sformatowaną wersję nazwy wyróżniającej X500 do drukowania lub danych wyjściowych do okna tekstowego lub konsoli.

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