X500DistinguishedNameFlags 열거형

정의

X.500 고유 이름의 특성을 지정합니다.

이 열거형은 멤버 값의 비트 조합을 지원합니다.

public enum class X500DistinguishedNameFlags
[System.Flags]
public enum X500DistinguishedNameFlags
[<System.Flags>]
type X500DistinguishedNameFlags = 
Public Enum X500DistinguishedNameFlags
상속
X500DistinguishedNameFlags
특성

필드

Name Description
None 0

고유 이름에는 특별한 특성이 없습니다.

Reversed 1

고유 이름이 역방향입니다.

UseSemicolons 16

고유 이름은 세미콜론을 사용합니다.

DoNotUsePlusSign 32

고유 이름은 더하기 기호를 사용하지 않습니다.

DoNotUseQuotes 64

고유 이름은 따옴표를 사용하지 않습니다.

UseCommas 128

고유 이름은 쉼표로 사용됩니다.

UseNewLines 256

고유 이름은 새 줄 문자를 사용합니다.

UseUTF8Encoding 4096

고유 이름은 유니코드 문자 인코딩 대신 UTF8 인코딩을 사용합니다.

UseT61Encoding 8192

고유 이름은 T61 인코딩을 사용합니다.

ForceUTF8Encoding 16384

고유 이름을 강제로 특정 X.500 키를 인쇄 가능한 유니코드 문자열이 아닌 UTF-8 문자열로 인코딩합니다. 자세한 내용 및 영향을 받는 X.500 키 목록은 X500NameFlags 열거형을 참조하세요.

예제

다음 코드 예제에서는 열거형을 X500DistinguishedNameFlags 사용하는 방법을 보여줍니다.

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

설명

이 열거형은 고유 이름에 X500DistinguishedName 포함된 특수 문자를 나타내기 위해 클래스와 함께 사용됩니다.

이 열거형에서는 여러 값이 함께 사용할 수 없습니다. 이러한 값 중 하나만 사용하여 X.500 고유 이름의 특수 특성을 정의합니다. 예를 들어 , UseCommasUseNewLines 값 중 UseSemicolons하나만 지정합니다. 또는 .을 지정 UseT61Encoding 합니다 UseUTF8Encoding.

적용 대상