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 | 強制的に、識別名が印刷可能な Unicode 文字列ではなく、UTF-8 文字列を使用して、特定の X.500 キーをエンコードするようにします。 影響を受ける X.500 キーの詳細と一覧については、「X500NameFlags enumeration (X500NameFlags 列挙体)」をご覧ください。 |
None | 0 | 識別名に特殊属性がありません。 |
Reversed | 1 | 識別名は予約されています。 |
UseCommas | 128 | 識別名でコンマが使用されています。 |
UseNewLines | 256 | 識別名で改行文字が使用されています。 |
UseSemicolons | 16 | 識別名でセミコロン (;) が使用されています。 |
UseT61Encoding | 8192 | 識別名に T61 エンコーディングが使用されています。 |
UseUTF8Encoding | 4096 | 識別名に、Unicode 文字エンコーディングではなく 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 に使用され、識別名に含まれる特殊文字を示します。
この列挙では、複数の値が相互に排他的です。これらの値の 1 つだけを使用して、X.500 識別名の特殊な特性を定義します。 たとえば、および UseSemicolons
のいずれかのUseCommas
UseNewLines
値のみを指定します。 または も UseT61Encoding
指定します UseUTF8Encoding
。
適用対象
.NET