X500DistinguishedName Klas

Definitie

Vertegenwoordigt de DN-naam van een X509-certificaat. Deze klasse kan niet worden overgenomen.

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
Overname
X500DistinguishedName

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de X500DistinguishedName klasse gebruikt.

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

Opmerkingen

Deze klasse is vergelijkbaar met een uitbreiding op de SubjectName of IssuerName eigenschap, de naam van de persoon of entiteit aan wie het certificaat wordt uitgegeven. X.500 is een internationale standaard voor gedistribueerde adreslijstservices. De DN-naam maakt gebruik van de volgende indeling:

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

De volgende veldlengtelimieten zijn van toepassing:

Veld Lengtelimiet
CountryCode 2 tekens
Organization Maximaal 64 tekens
OrganizationUnit Maximaal 32 tekens
AlgemeneNaam Maximaal 64 tekens

De volgende richtlijnen zijn van toepassing:

  • Veldwaarden kunnen hoofdletters of kleine letters zijn.

  • Scheidingstekens zijn slashmarkeringen (/) en moeten vóór de eerste waarde en tussen de volgende waarden worden weergegeven.

  • Scheidingstekens kunnen worden gevolgd door een spatie.

Hier volgt een voorbeeld van een correct opgemaakte naam: [X500:/ C=US/ O=Microsoft/ OU=WGA/ CN=TedSt]

Constructors

Name Description
X500DistinguishedName(AsnEncodedData)

Initialiseert een nieuw exemplaar van de X500DistinguishedName klasse met behulp van het opgegeven AsnEncodedData object.

X500DistinguishedName(Byte[])

Initialiseert een nieuw exemplaar van de X500DistinguishedName klasse met behulp van gegevens uit de opgegeven bytematrix.

X500DistinguishedName(ReadOnlySpan<Byte>)

Initialiseert een nieuw exemplaar van de X500DistinguishedName klasse met behulp van gegevens uit de opgegeven gegevens.

X500DistinguishedName(String, X500DistinguishedNameFlags)

Initialiseert een nieuw exemplaar van de X500DistinguishedName klasse met behulp van de opgegeven tekenreeks en X500DistinguishedNameFlags vlag.

X500DistinguishedName(String)

Initialiseert een nieuw exemplaar van de X500DistinguishedName klasse met behulp van gegevens uit de opgegeven tekenreeks.

X500DistinguishedName(X500DistinguishedName)

Initialiseert een nieuw exemplaar van de X500DistinguishedName klasse met behulp van het opgegeven X500DistinguishedName object.

Eigenschappen

Name Description
Name

Hiermee haalt u de door komma's gescheiden DN-naam op van een X500-certificaat.

Oid

Hiermee haalt u de waarde voor een Oid object op of stelt u deze AsnEncodedData in.

(Overgenomen van AsnEncodedData)
RawData

Hiermee haalt u de abstracte syntaxis notatie één (ASN.1)-gecodeerde gegevens op die worden weergegeven in een bytematrix.

(Overgenomen van AsnEncodedData)

Methoden

Name Description
CopyFrom(AsnEncodedData)

Hiermee kopieert u gegevens van een AsnEncodedData object.

(Overgenomen van AsnEncodedData)
Decode(X500DistinguishedNameFlags)

Ontsleutelt een DN-naam met behulp van de kenmerken die zijn opgegeven door de flag parameter.

EnumerateRelativeDistinguishedNames(Boolean)

Itereert de waarden RelativeDistinguishedName binnen deze DN-naamwaarde.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Format(Boolean)

Retourneert een opgemaakte versie van een X500 DN-naam voor afdrukken of voor uitvoer naar een tekstvenster of naar een console.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op