다음을 통해 공유


X500DistinguishedNameFlags 열거형

정의

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

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

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

필드

DoNotUsePlusSign 32

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

DoNotUseQuotes 64

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

ForceUTF8Encoding 16384

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

None 0

고유 이름에 특수 문자를 사용하지 않습니다.

Reversed 1

고유 이름이 역순입니다.

UseCommas 128

고유 이름에 쉼표를 사용합니다.

UseNewLines 256

고유 이름에 줄 바꿈 문자를 사용합니다.

UseSemicolons 16

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

UseT61Encoding 8192

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

UseUTF8Encoding 4096

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

예제

다음 코드 예제를 사용 하는 방법을 보여 줍니다는 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 고유 이름의 특수 특성을 정의합니다. 예를 들어 , UseNewLinesUseSemicolons 값 중 UseCommas하나만 지정합니다. 또는 UseUTF8EncodingUseT61Encoding 지정합니다.

적용 대상