X500DistinguishedName 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
X509 인증서의 고유 이름을 나타냅니다. 이 클래스는 상속될 수 없습니다.
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
- 상속
예제
다음 코드 예제에서는 X500DistinguishedName 클래스를 사용하는 방법을 보여 줍니다.
#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
설명
이 클래스의 확장인 비슷합니다는 SubjectName 또는 IssuerName 사람 또는 인증서에 실행 되는 엔터티의 이름인 속성입니다. X.500은 분산된 디렉터리 서비스에 대 한 국제 표준 합니다. 고유 이름에는 다음 형식을 사용 합니다.
[X500:/C=CountryCode/O=Organization/OU=OrganizationUnit/CN=CommonName]
다음 필드 길이 제한이 적용 됩니다.
필드 | 길이 제한 |
---|---|
CountryCode | 2 자 |
조직 | 최대 64 자 |
OrganizationUnit | 최대 32 자 |
CommonName | 최대 64 자 |
다음과 같은 지침이 적용됩니다.
필드 값은 대 / 소문자 구분 수 있습니다.
구분 기호로 슬래시 기호 (/) 되며 첫 번째 값을 이전 및 이후의 각 값 사이 나타나야 합니다.
구분 기호는 공백 올 수 있습니다.
다음은 올바르게 형식이 지정 된 이름의 예: [X500: / C = US / O = Microsoft / OU = WGA / CN = TedSt]
생성자
X500DistinguishedName(AsnEncodedData) |
지정된 AsnEncodedData 개체를 사용하여 X500DistinguishedName 클래스의 새 인스턴스를 초기화합니다. |
X500DistinguishedName(Byte[]) |
지정된 바이트 배열의 정보를 사용하여 X500DistinguishedName 클래스의 새 인스턴스를 초기화합니다. |
X500DistinguishedName(ReadOnlySpan<Byte>) |
제공된 데이터의 정보를 사용하여 X500DistinguishedName 클래스의 새 인스턴스를 초기화합니다. |
X500DistinguishedName(String) |
지정된 문자열의 정보를 사용하여 X500DistinguishedName 클래스의 새 인스턴스를 초기화합니다. |
X500DistinguishedName(String, X500DistinguishedNameFlags) |
지정된 문자열과 X500DistinguishedName 플래그를 사용하여 X500DistinguishedNameFlags 클래스의 새 인스턴스를 초기화합니다. |
X500DistinguishedName(X500DistinguishedName) |
지정된 X500DistinguishedName 개체를 사용하여 X500DistinguishedName 클래스의 새 인스턴스를 초기화합니다. |
속성
Name |
X500 인증서에서 쉼표로 구분된 고유 이름을 가져옵니다. |
Oid |
Oid 개체의 AsnEncodedData 값을 가져오거나 설정합니다. (다음에서 상속됨 AsnEncodedData) |
RawData |
바이트 배열에 표현된 ASN.1(Abstract Syntax Notation One) 인코딩된 데이터를 가져오거나 설정합니다. (다음에서 상속됨 AsnEncodedData) |
메서드
CopyFrom(AsnEncodedData) |
AsnEncodedData 개체에서 정보를 복사합니다. (다음에서 상속됨 AsnEncodedData) |
Decode(X500DistinguishedNameFlags) |
|
EnumerateRelativeDistinguishedNames(Boolean) |
이 고유 이름 값 내의 RelativeDistinguishedName 값을 반복합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Format(Boolean) |
인쇄하거나 텍스트 창 또는 콘솔에 출력할 수 있도록 형식이 지정된 버전의 X500 고유 이름을 반환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기