X500DistinguishedName クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
X509 証明書の識別名を表します。 このクラスは継承できません。
public ref class X500DistinguishedName sealed : System::Security::Cryptography::AsnEncodedData
public sealed class X500DistinguishedName : System.Security.Cryptography.AsnEncodedData
type X500DistinguishedName = class
inherit AsnEncodedData
Public NotInheritable Class X500DistinguishedName
Inherits AsnEncodedData
- 継承
例
X500DistinguishedName クラスを使用するコード例を次に示します。
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
注釈
このクラスは、 プロパティまたは IssuerName プロパティのSubjectName拡張機能に似ています。これは、証明書の発行先のユーザーまたはエンティティの名前です。 X.500 は、分散ディレクトリ サービスの国際標準です。 識別名は、次の形式を使用します。
[X500:/C=CountryCode/O=Organization/OU=OrganizationUnit/CN=CommonName]
次のフィールド長の制限が適用されます。
フィールド | 長さの制限 |
---|---|
CountryCode | 2 文字 |
組織 | 最大 64 文字 |
OrganizationUnit | 最大 32 文字 |
CommonName | 最大 64 文字 |
次のガイドラインが適用されます。
フィールドの値は、大文字または小文字にすることができます。
区切り記号はスラッシュ (/) であり、最初の値の前と後続の値の間に表示する必要があります。
区切り記号の後にスペースを付けることができます。
正しく書式設定された名前の例を次に示します。 [X500:/ C=US/ O=Microsoft/ OU=WGA/ CN=TedSt]
コンストラクター
X500DistinguishedName(AsnEncodedData) |
指定した AsnEncodedData オブジェクトを使用して、X500DistinguishedName クラスの新しいインスタンスを初期化します。 |
X500DistinguishedName(Byte[]) |
指定されたバイト配列の情報に基づいて、X500DistinguishedName クラスの新しいインスタンスを初期化します。 |
X500DistinguishedName(ReadOnlySpan<Byte>) |
指定されたデータの情報を使用して、X500DistinguishedName クラスの新しいインスタンスを初期化します。 |
X500DistinguishedName(String) |
指定された文字列の情報に基づいて、X500DistinguishedName クラスの新しいインスタンスを初期化します。 |
X500DistinguishedName(String, X500DistinguishedNameFlags) |
指定された文字列および X500DistinguishedName フラグを使用して、X500DistinguishedNameFlags クラスの新しいインスタンスを初期化します。 |
X500DistinguishedName(X500DistinguishedName) |
指定した X500DistinguishedName オブジェクトを使用して、X500DistinguishedName クラスの新しいインスタンスを初期化します。 |
プロパティ
Name |
X500 証明書からコンマ区切りの識別名を取得します。 |
Oid |
Oid オブジェクトの AsnEncodedData 値を取得または設定します。 (継承元 AsnEncodedData) |
RawData |
ASN.1 (Abstract Syntax Notation One) でエンコードされたデータをバイト配列表現で取得または設定します。 (継承元 AsnEncodedData) |
メソッド
CopyFrom(AsnEncodedData) |
AsnEncodedData オブジェクトの情報をコピーします。 (継承元 AsnEncodedData) |
Decode(X500DistinguishedNameFlags) |
|
EnumerateRelativeDistinguishedNames(Boolean) |
この識別名値内の RelativeDistinguishedName 値を反復処理します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Format(Boolean) |
X500 の識別名を書式設定して返します。識別名を印刷したり、テキスト ウィンドウやコンソールに出力するときに使用します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET