Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

X500DistinguishedName-Klasse

Hinweis: Diese Klasse ist neu in .NET Framework, Version 2.0.

Stellt den Distinguished Name eines X509-Zertifikats dar. Die Klasse kann nicht vererbt werden.

Namespace: System.Security.Cryptography.X509Certificates
Assembly: System (in system.dll)

public sealed class X500DistinguishedName : AsnEncodedData
public final class X500DistinguishedName extends AsnEncodedData
public final class X500DistinguishedName extends AsnEncodedData

Diese Klasse ist vergleichbar mit einer Erweiterung der SubjectName-Eigenschaft oder der IssuerName-Eigenschaft, die den Namen der Person oder Entität angeben, für die das Zertifikat ausgestellt wird. X.500 ist ein internationaler Standard für verteilte Verzeichnisdienste. Der Distinguished Name verwendet das folgende Format:

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

Für Feldlängen gelten folgende Begrenzungen:

Feld

Längenbegrenzung

CountryCode

2 Zeichen

Organization

Maximal 64 Zeichen

OrganizationUnit

Maximal 32 Zeichen

CommonName

Maximal 64 Zeichen

Es gelten die folgenden Richtlinien:

  • Feldwerte können sowohl Groß- als auch Kleinbuchstaben enthalten.

  • Als Trennzeichen werden Schrägstriche (/) verwendet; diese müssen vor dem ersten Wert und zwischen nachfolgenden Werten stehen.

  • Auf ein Trennzeichen kann ein Leerzeichen folgen.

Folgendes Beispiel veranschaulicht einen richtig formatierten Namen: [X500:/ C=US/ O=Microsoft/ OU=WGA/ CN=TedSt]

Im folgenden Codebeispiel wird die Verwendung der X500DistinguishedName-Klasse veranschaulicht.

using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class X500Sample
{
	static void Main()
	{
		try
		{
			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);
			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: {0}{1}", scollection.Count, Environment.NewLine);
			foreach (X509Certificate2 x509 in scollection)
			{
				X500DistinguishedName dname = new X500DistinguishedName(x509.SubjectName);
				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.");
		}

	}
}

System.Object
   System.Security.Cryptography.AsnEncodedData
    System.Security.Cryptography.X509Certificates.X500DistinguishedName

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen: