X500DistinguishedName Klasa
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje nazwę wyróżniającą certyfikatu X509. Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
W poniższym przykładzie kodu pokazano, jak używać X500DistinguishedName klasy.
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
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]
X500Distinguished |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego AsnEncodedData obiektu. |
X500Distinguished |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z określonej tablicy bajtów. |
X500Distinguished |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z podanych danych. |
X500Distinguished |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z określonego ciągu. |
X500Distinguished |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego ciągu i X500DistinguishedNameFlags flagi. |
X500Distinguished |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego X500DistinguishedName obiektu. |
Name |
Pobiera rozdzielaną przecinkami nazwę wyróżniającą z certyfikatu X500. |
Oid |
Pobiera lub ustawia Oid wartość obiektu AsnEncodedData . (Odziedziczone po AsnEncodedData) |
Raw |
Pobiera lub ustawia dane zakodowane w postaci składni abstrakcyjnej (ASN.1) zakodowane w tablicy bajtów. (Odziedziczone po AsnEncodedData) |
Copy |
Kopiuje informacje z AsnEncodedData obiektu. (Odziedziczone po AsnEncodedData) |
Decode(X500Distinguished |
Dekoduje nazwę wyróżniającą przy użyciu cech określonych przez |
Enumerate |
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. |
Get |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
Get |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
Memberwise |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
To |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
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 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: