X500DistinguishedNameFlags 列舉

定義

指定 X.500 辨別名稱的特性。

此列舉支援其成員值的位元組合。

C#
[System.Flags]
public enum X500DistinguishedNameFlags
繼承
X500DistinguishedNameFlags
屬性

欄位

名稱 Description
DoNotUsePlusSign 32

辨別名稱不使用加號。

DoNotUseQuotes 64

辨別名稱不使用引號。

ForceUTF8Encoding 16384

強制辨別名稱將特定 X.500 金鑰編碼為 UTF-8 字串,而非可列印的 Unicode 字串。 如需詳細資訊,以及受影響的 X.500 金鑰清單,請參閱 X500NameFlags enumeration (X500NameFlags 列舉)。

None 0

辨別名稱沒有特殊的特性。

Reversed 1

辨別名稱會反轉。

UseCommas 128

辨別名稱使用逗號。

UseNewLines 256

辨別名稱使用新行字元。

UseSemicolons 16

辨別名稱使用分號。

UseT61Encoding 8192

辨別名稱使用 T61 編碼。

UseUTF8Encoding 4096

辨別名稱使用 UTF8 編碼,而不是 Unicode 字元編碼。

範例

下列程式代碼範例示範如何使用 X500DistinguishedNameFlags 列舉。

C#
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.");
        }
    }
}

備註

這個列舉會與 類別搭配 X500DistinguishedName 使用,以指出辨別名稱中包含的特殊字元。

在此列舉中,有數個值互斥;只使用其中一個值來定義 X.500 辨別名稱的特殊特性。 例如,只指定其中一個 UseCommasUseNewLinesUseSemicolons 值。 您也會指定 UseT61EncodingUseUTF8Encoding

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1