X500DistinguishedNameFlags 列挙型

定義

X.500 識別名の特性を指定します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

public enum class X500DistinguishedNameFlags
[System.Flags]
public enum X500DistinguishedNameFlags
[<System.Flags>]
type X500DistinguishedNameFlags = 
Public Enum X500DistinguishedNameFlags
継承
X500DistinguishedNameFlags
属性

フィールド

名前 説明
None 0

識別名には特別な特性はありません。

Reversed 1

識別名は逆になります。

UseSemicolons 16

識別名にはセミコロンを使用します。

DoNotUsePlusSign 32

識別名では、正符号は使用されません。

DoNotUseQuotes 64

識別名には引用符は使用されません。

UseCommas 128

識別名はコンマを使用します。

UseNewLines 256

識別名は、改行文字を使用します。

UseUTF8Encoding 4096

識別名では、Unicode 文字エンコードの代わりに UTF8 エンコードが使用されます。

UseT61Encoding 8192

識別名は T61 エンコードを使用します。

ForceUTF8Encoding 16384

識別名で、印刷可能な Unicode 文字列ではなく、特定の 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 識別名の特殊な特性を定義します。 たとえば、 UseCommasUseNewLinesUseSemicolons のいずれかの値のみを指定します。 UseT61EncodingまたはUseUTF8Encodingも指定します。

適用対象