X500DistinguishedName Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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 |
| 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) |