X500DistinguishedNameFlags 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
X.500 고유 이름의 특성을 지정합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class X500DistinguishedNameFlags
[System.Flags]
public enum X500DistinguishedNameFlags
[<System.Flags>]
type X500DistinguishedNameFlags =
Public Enum 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 고유 이름의 특수 특성을 정의합니다. 예를 들어 , UseNewLines
및 UseSemicolons
값 중 UseCommas
하나만 지정합니다. 또는 UseUTF8Encoding
도 UseT61Encoding
지정합니다.
적용 대상
.NET