X500DistinguishedName Klasa
Definicja
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
Przykłady
W poniższym przykładzie kodu pokazano, jak używać X500DistinguishedName klasy.
#using <System.dll>
#using <system.security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
try
{
X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser );
store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly) );
X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
X509Certificate2Collection ^ fcollection = dynamic_cast<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 );
System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
X500DistinguishedName ^ dname = gcnew 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." );
}
}
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.");
}
}
}
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates
Class X500Sample
Shared 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 = CType(store.Certificates, X509Certificate2Collection)
Dim fcollection As X509Certificate2Collection = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False), X509Certificate2Collection)
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)
msg = "Number of certificates: " & scollection.Count & Environment.NewLine
MsgBox(msg)
Dim x509 As X509Certificate2
For Each x509 In scollection
Dim dname As New X500DistinguishedName(x509.SubjectName)
msg = "X500DistinguishedName: " & dname.Name & Environment.NewLine
MsgBox(msg)
x509.Reset()
Next x509
store.Close()
Catch e As Exception
msg = "Error: Information could not be written out for this certificate."
MsgBox(msg)
End Try
End Sub
End Class
Uwagi
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]
Konstruktory
X500DistinguishedName(AsnEncodedData) |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego AsnEncodedData obiektu. |
X500DistinguishedName(Byte[]) |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z określonej tablicy bajtów. |
X500DistinguishedName(ReadOnlySpan<Byte>) |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z podanych danych. |
X500DistinguishedName(String) |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu informacji z określonego ciągu. |
X500DistinguishedName(String, X500DistinguishedNameFlags) |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego ciągu i X500DistinguishedNameFlags flagi. |
X500DistinguishedName(X500DistinguishedName) |
Inicjuje X500DistinguishedName nowe wystąpienie klasy przy użyciu określonego X500DistinguishedName obiektu. |
Właściwości
Name |
Pobiera rozdzielaną przecinkami nazwę wyróżniającą z certyfikatu X500. |
Oid |
Pobiera lub ustawia Oid wartość obiektu AsnEncodedData . (Odziedziczone po AsnEncodedData) |
RawData |
Pobiera lub ustawia dane zakodowane w postaci składni abstrakcyjnej (ASN.1) zakodowane w tablicy bajtów. (Odziedziczone po AsnEncodedData) |
Metody
CopyFrom(AsnEncodedData) |
Kopiuje informacje z AsnEncodedData obiektu. (Odziedziczone po AsnEncodedData) |
Decode(X500DistinguishedNameFlags) |
Dekoduje nazwę wyróżniającą przy użyciu cech określonych przez |
EnumerateRelativeDistinguishedNames(Boolean) |
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. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla