X500DistinguishedName Klass

Definition

Representerar det unika namnet på ett X509-certifikat. Det går inte att ärva den här klassen.

public ref class X500DistinguishedName sealed : System::Security::Cryptography::AsnEncodedData
public sealed class X500DistinguishedName : System.Security.Cryptography.AsnEncodedData
type X500DistinguishedName = class
    inherit AsnEncodedData
Public NotInheritable Class X500DistinguishedName
Inherits AsnEncodedData
Arv
X500DistinguishedName

Exempel

I följande kodexempel visas hur du X500DistinguishedName använder klassen.

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.");
        }
    }
}
Imports System.Security.Cryptography.X509Certificates

Class X500Sample
    Shared s_msg As String
    Shared Sub Main()

        Try
            Dim store As New X509Store("MY", StoreLocation.CurrentUser)
            store.Open(OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly)
            Dim collection As X509Certificate2Collection = store.Certificates
            Dim fcollection As X509Certificate2Collection = collection.Find(X509FindType.FindByTimeValid, Date.Now, False)
            Dim scollection As X509Certificate2Collection = X509Certificate2UI.SelectFromCollection(
                fcollection,
                "Test Certificate Select",
                "Select a certificate from the following list to get information on that certificate",
                X509SelectionFlag.MultiSelection
                )
            s_msg = "Number of certificates: " & scollection.Count & Environment.NewLine
            Console.WriteLine(s_msg)
            Dim x509 As X509Certificate2
            For Each x509 In scollection
                Dim dname As New X500DistinguishedName(
                x509.SubjectName.Name,
                X500DistinguishedNameFlags.Reversed Or X500DistinguishedNameFlags.UseSemicolons
                )
                s_msg = "X500DistinguishedName: " & dname.Name & Environment.NewLine
                Console.WriteLine(s_msg)
                x509.Reset()
            Next x509
            store.Close()
        Catch e As Exception
            s_msg = "Error: Information could not be written out for this certificate."
            Console.WriteLine(s_msg)
        End Try
    End Sub
End Class

Kommentarer

Den här klassen är som ett tillägg till SubjectName egenskapen eller IssuerName , som är namnet på den person eller entitet som certifikatet utfärdas till. X.500 är en internationell standard för distribuerade katalogtjänster. Det unika namnet använder följande format:

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

Följande fältlängdsgränser gäller:

Fält Längdgräns
Landskod 2 tecken
Organization Upp till 64 tecken
OrganizationUnit Upp till 32 tecken
Allmänt Namn Upp till 64 tecken

Följande riktlinjer gäller:

  • Fältvärden kan vara versaler eller gemener.

  • Avgränsare är snedstreck (/) och måste visas före det första värdet och mellan efterföljande värden.

  • Avgränsare kan följas av ett blanksteg.

Följande är ett exempel på ett korrekt formaterat namn: [X500:/ C=US/ O=Microsoft/ OU=WGA/ CN=TedSt]

Konstruktorer

Name Description
X500DistinguishedName(AsnEncodedData)

Initierar en ny instans av X500DistinguishedName klassen med det angivna AsnEncodedData objektet.

X500DistinguishedName(Byte[])

Initierar en ny instans av klassen med hjälp av X500DistinguishedName information från den angivna bytematrisen.

X500DistinguishedName(ReadOnlySpan<Byte>)

Initierar en ny instans av klassen med hjälp av X500DistinguishedName information från angivna data.

X500DistinguishedName(String, X500DistinguishedNameFlags)

Initierar en ny instans av X500DistinguishedName klassen med den angivna strängen och X500DistinguishedNameFlags flaggan.

X500DistinguishedName(String)

Initierar en ny instans av klassen med hjälp av X500DistinguishedName information från den angivna strängen.

X500DistinguishedName(X500DistinguishedName)

Initierar en ny instans av X500DistinguishedName klassen med det angivna X500DistinguishedName objektet.

Egenskaper

Name Description
Name

Hämtar det kommaavgränsade unika namnet från ett X500-certifikat.

Oid

Hämtar eller anger Oid värdet för ett AsnEncodedData objekt.

(Ärvd från AsnEncodedData)
RawData

Hämtar eller anger abstrakt syntax notation one (ASN.1)-kodade data som representeras i en bytematris.

(Ärvd från AsnEncodedData)

Metoder

Name Description
CopyFrom(AsnEncodedData)

Kopierar information från ett AsnEncodedData objekt.

(Ärvd från AsnEncodedData)
Decode(X500DistinguishedNameFlags)

Avkodar ett unikt namn med de egenskaper som anges av parametern flag .

EnumerateRelativeDistinguishedNames(Boolean)

Itererar över Värdena för RelativeDistinguishedName i det här unika namnvärdet.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Format(Boolean)

Returnerar en formaterad version av ett unikt X500-namn för utskrift eller utdata till ett textfönster eller till en konsol.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för