X500DistinguishedNameとは? わかりやすく解説

X500DistinguishedName クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

X509 証明書の識別名を表します。このクラスは継承できません。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public NotInheritable Class
 X500DistinguishedName
    Inherits AsnEncodedData
Dim instance As X500DistinguishedName
public sealed class X500DistinguishedName :
 AsnEncodedData
public ref class X500DistinguishedName sealed
 : public AsnEncodedData
public final class X500DistinguishedName extends
 AsnEncodedData
public final class X500DistinguishedName extends
 AsnEncodedData
解説解説

このクラスは、SubjectName プロパティ (発行された証明書を受け取る主体者名) や IssuerName プロパティ (証明書の発行者名) に対する拡張機能のようなものです。X.500 は、分散ディレクトリ サービスの国際標準となっています。識別名には次の形式が使用されます。

[X500:/C=CountryCode/O=Organization/OU=OrganizationUnit/CN=CommonName]

フィールド長は、次のように制限されています。

次のガイドラインが適用されます。

たとえば、[X500:/ C=US/ O=Microsoft/ OU=WGA/ CN=TedSt] のように指定します。

使用例使用例

X500DistinguishedName クラスを使用するコード例を次に示します。

Imports System
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates



Class X500Sample
   Shared 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
 = CType(store.Certificates, X509Certificate2Collection)
         Dim fcollection As X509Certificate2Collection
 = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False),
 X509Certificate2Collection)
         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)
     msg = "Number of certificates: " & scollection.Count
 & Environment.NewLine
     MsgBox(msg)
         Dim x509 As X509Certificate2
         For Each x509 In
  scollection
            Dim dname As New
 X500DistinguishedName(x509.SubjectName)
        msg = "X500DistinguishedName: " & dname.Name
 & Environment.NewLine
     MsgBox(msg)
            x509.Reset()
         Next x509
         store.Close()
     Catch e As Exception
            msg = "Error: Information could not be written out
 for this certificate."
            MsgBox(msg)
      End Try
   End Sub 'Main 
End Class 'X500Sample
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class X500Sample
{
    static void Main()
    {
        try
        {
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)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: {0}{1}", scollection.Count,
 Environment.NewLine);
            foreach (X509Certificate2 x509 in
 scollection)
            {
                X500DistinguishedName dname = new X500DistinguishedName(x509.SubjectName);
                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.");
        }

    }
}
#using <System.dll>
#using <system.security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser
 );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly)
 );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(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: {0}{1}", scollection->Count,
 Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         X500DistinguishedName ^ dname = gcnew X500DistinguishedName( x509->SubjectName
 );
         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." );
   }

}

継承階層継承階層
System.Object
   System.Security.Cryptography.AsnEncodedData
    System.Security.Cryptography.X509Certificates.X500DistinguishedName
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
X500DistinguishedName メンバ
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName コンストラクタ (X500DistinguishedName)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

X500DistinguishedName オブジェクトを指定して、X500DistinguishedName クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    distinguishedName As X500DistinguishedName _
)
Dim distinguishedName As X500DistinguishedName

Dim instance As New X500DistinguishedName(distinguishedName)
public X500DistinguishedName (
    X500DistinguishedName distinguishedName
)
public:
X500DistinguishedName (
    X500DistinguishedName^ distinguishedName
)
public X500DistinguishedName (
    X500DistinguishedName distinguishedName
)
public function X500DistinguishedName (
    distinguishedName : X500DistinguishedName
)

パラメータ

distinguishedName

X500DistinguishedName オブジェクト。

解説解説

このコンストラクタは、指定された X500DistinguishedName オブジェクトのコピーを作成します。X500DistinguishedName クラスは、AsnEncodedData クラスから継承します。

使用例使用例

X500DistinguishedName クラスを使用するコード例を次に示します。

Imports System
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates



Class X500Sample
   Shared 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
 = CType(store.Certificates, X509Certificate2Collection)
         Dim fcollection As X509Certificate2Collection
 = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False),
 X509Certificate2Collection)
         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)
     msg = "Number of certificates: " & scollection.Count
 & Environment.NewLine
     MsgBox(msg)
         Dim x509 As X509Certificate2
         For Each x509 In
  scollection
            Dim dname As New
 X500DistinguishedName(x509.SubjectName)
        msg = "X500DistinguishedName: " & dname.Name
 & Environment.NewLine
     MsgBox(msg)
            x509.Reset()
         Next x509
         store.Close()
     Catch e As Exception
            msg = "Error: Information could not be written out
 for this certificate."
            MsgBox(msg)
      End Try
   End Sub 'Main 
End Class 'X500Sample
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class X500Sample
{
    static void Main()
    {
        try
        {
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)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: {0}{1}", scollection.Count,
 Environment.NewLine);
            foreach (X509Certificate2 x509 in
 scollection)
            {
                X500DistinguishedName dname = new X500DistinguishedName(x509.SubjectName);
                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.");
        }

    }
}
#using <System.dll>
#using <system.security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser
 );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly)
 );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(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: {0}{1}", scollection->Count,
 Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         X500DistinguishedName ^ dname = gcnew X500DistinguishedName( x509->SubjectName
 );
         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 クラス
X500DistinguishedName メンバ
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName コンストラクタ (AsnEncodedData)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

AsnEncodedData オブジェクトを指定して、X500DistinguishedName クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    encodedDistinguishedName As AsnEncodedData _
)
Dim encodedDistinguishedName As AsnEncodedData

Dim instance As New X500DistinguishedName(encodedDistinguishedName)
public X500DistinguishedName (
    AsnEncodedData encodedDistinguishedName
)
public:
X500DistinguishedName (
    AsnEncodedData^ encodedDistinguishedName
)
public X500DistinguishedName (
    AsnEncodedData encodedDistinguishedName
)
public function X500DistinguishedName (
    encodedDistinguishedName : AsnEncodedData
)

パラメータ

encodedDistinguishedName

識別名を表す AsnEncodedData オブジェクト。

解説解説

X500DistinguishedName クラスは、AsnEncodedData クラスから継承します。

使用例使用例

X500DistinguishedName クラスを使用するコード例を次に示します。

Imports System
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates



Class X500Sample
   Shared 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
 = CType(store.Certificates, X509Certificate2Collection)
         Dim fcollection As X509Certificate2Collection
 = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False),
 X509Certificate2Collection)
         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)
     msg = "Number of certificates: " & scollection.Count
 & Environment.NewLine
     MsgBox(msg)
         Dim x509 As X509Certificate2
         For Each x509 In
  scollection
            Dim dname As New
 X500DistinguishedName(x509.SubjectName)
        msg = "X500DistinguishedName: " & dname.Name
 & Environment.NewLine
     MsgBox(msg)
            x509.Reset()
         Next x509
         store.Close()
     Catch e As Exception
            msg = "Error: Information could not be written out
 for this certificate."
            MsgBox(msg)
      End Try
   End Sub 'Main 
End Class 'X500Sample
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class X500Sample
{
    static void Main()
    {
        try
        {
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)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: {0}{1}", scollection.Count,
 Environment.NewLine);
            foreach (X509Certificate2 x509 in
 scollection)
            {
                X500DistinguishedName dname = new X500DistinguishedName(x509.SubjectName);
                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.");
        }

    }
}
#using <System.dll>
#using <system.security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser
 );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly)
 );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(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: {0}{1}", scollection->Count,
 Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         X500DistinguishedName ^ dname = gcnew X500DistinguishedName( x509->SubjectName
 );
         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 クラス
X500DistinguishedName メンバ
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName コンストラクタ (Byte[])

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定されたバイト配列の情報に基づいて、X500DistinguishedName クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    encodedDistinguishedName As Byte() _
)
Dim encodedDistinguishedName As Byte()

Dim instance As New X500DistinguishedName(encodedDistinguishedName)
public X500DistinguishedName (
    byte[] encodedDistinguishedName
)
public:
X500DistinguishedName (
    array<unsigned char>^ encodedDistinguishedName
)
public X500DistinguishedName (
    byte[] encodedDistinguishedName
)
public function X500DistinguishedName (
    encodedDistinguishedName : byte[]
)

パラメータ

encodedDistinguishedName

識別名情報を保持するバイト配列。

解説解説

X500DistinguishedName クラスは、AsnEncodedData クラスから継承します。

使用例使用例

X500DistinguishedName クラスを使用するコード例を次に示します。

Imports System
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates



Class X500Sample
   Shared 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
 = CType(store.Certificates, X509Certificate2Collection)
         Dim fcollection As X509Certificate2Collection
 = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False),
 X509Certificate2Collection)
         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)
     msg = "Number of certificates: " & scollection.Count
 & Environment.NewLine
     MsgBox(msg)
         Dim x509 As X509Certificate2
         For Each x509 In
  scollection
            Dim dname As New
 X500DistinguishedName(x509.SubjectName)
        msg = "X500DistinguishedName: " & dname.Name
 & Environment.NewLine
     MsgBox(msg)
            x509.Reset()
         Next x509
         store.Close()
     Catch e As Exception
            msg = "Error: Information could not be written out
 for this certificate."
            MsgBox(msg)
      End Try
   End Sub 'Main 
End Class 'X500Sample
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class X500Sample
{
    static void Main()
    {
        try
        {
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)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: {0}{1}", scollection.Count,
 Environment.NewLine);
            foreach (X509Certificate2 x509 in
 scollection)
            {
                X500DistinguishedName dname = new X500DistinguishedName(x509.SubjectName);
                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.");
        }

    }
}
#using <System.dll>
#using <system.security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser
 );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly)
 );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(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: {0}{1}", scollection->Count,
 Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         X500DistinguishedName ^ dname = gcnew X500DistinguishedName( x509->SubjectName
 );
         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 クラス
X500DistinguishedName メンバ
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName コンストラクタ (String, X500DistinguishedNameFlags)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定された文字列および X500DistinguishedNameFlags フラグを使用して、X500DistinguishedName クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    distinguishedName As String, _
    flag As X500DistinguishedNameFlags _
)
Dim distinguishedName As String
Dim flag As X500DistinguishedNameFlags

Dim instance As New X500DistinguishedName(distinguishedName,
 flag)
public X500DistinguishedName (
    string distinguishedName,
    X500DistinguishedNameFlags flag
)
public:
X500DistinguishedName (
    String^ distinguishedName, 
    X500DistinguishedNameFlags flag
)
public X500DistinguishedName (
    String distinguishedName, 
    X500DistinguishedNameFlags flag
)
public function X500DistinguishedName (
    distinguishedName : String, 
    flag : X500DistinguishedNameFlags
)

パラメータ

distinguishedName

識別名を表す文字列。

flag

識別名の特性を指定する X500DistinguishedName オブジェクト。

解説解説

X500DistinguishedName クラスは、AsnEncodedData クラスから継承します。

使用例使用例

X500DistinguishedName クラスを使用するコード例を次に示します。

Imports System
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates



Class X500Sample
   Shared 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
 = CType(store.Certificates, X509Certificate2Collection)
         Dim fcollection As X509Certificate2Collection
 = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False),
 X509Certificate2Collection)
         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)
     msg = "Number of certificates: " & scollection.Count
 & Environment.NewLine
     MsgBox(msg)
         Dim x509 As X509Certificate2
         For Each x509 In
  scollection
            Dim dname As New
 X500DistinguishedName(x509.SubjectName)
        msg = "X500DistinguishedName: " & dname.Name
 & Environment.NewLine
     MsgBox(msg)
            x509.Reset()
         Next x509
         store.Close()
     Catch e As Exception
            msg = "Error: Information could not be written out
 for this certificate."
            MsgBox(msg)
      End Try
   End Sub 'Main 
End Class 'X500Sample
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class X500Sample
{
    static void Main()
    {
        try
        {
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)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: {0}{1}", scollection.Count,
 Environment.NewLine);
            foreach (X509Certificate2 x509 in
 scollection)
            {
                X500DistinguishedName dname = new X500DistinguishedName(x509.SubjectName);
                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.");
        }

    }
}
#using <System.dll>
#using <system.security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser
 );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly)
 );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(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: {0}{1}", scollection->Count,
 Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         X500DistinguishedName ^ dname = gcnew X500DistinguishedName( x509->SubjectName
 );
         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 クラス
X500DistinguishedName メンバ
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName コンストラクタ

X500DistinguishedName クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
X500DistinguishedName (AsnEncodedData) AsnEncodedData オブジェクトを指定して、X500DistinguishedName クラスの新しいインスタンスを初期化します。
X500DistinguishedName (Byte[]) 指定されたバイト配列の情報に基づいて、X500DistinguishedName クラスの新しいインスタンスを初期化します。
X500DistinguishedName (String) 指定された文字列の情報に基づいて、X500DistinguishedName クラスの新しいインスタンスを初期化します。
X500DistinguishedName (X500DistinguishedName) X500DistinguishedName オブジェクトを指定して、X500DistinguishedName クラスの新しいインスタンスを初期化します。
X500DistinguishedName (String, X500DistinguishedNameFlags) 指定された文字列および X500DistinguishedNameFlags フラグを使用して、X500DistinguishedName クラスの新しいインスタンスを初期化します。
参照参照

関連項目

X500DistinguishedName クラス
X500DistinguishedName メンバ
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName コンストラクタ (String)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定された文字列の情報に基づいて、X500DistinguishedName クラスの新しいインスタンスを初期化します。

名前空間: System.Security.Cryptography.X509Certificates
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    distinguishedName As String _
)
Dim distinguishedName As String

Dim instance As New X500DistinguishedName(distinguishedName)
public X500DistinguishedName (
    string distinguishedName
)
public:
X500DistinguishedName (
    String^ distinguishedName
)
public X500DistinguishedName (
    String distinguishedName
)
public function X500DistinguishedName (
    distinguishedName : String
)

パラメータ

distinguishedName

識別名を表す文字列。

解説解説

X500DistinguishedName クラスは、AsnEncodedData クラスから継承します。

使用例使用例

X500DistinguishedName クラスを使用するコード例を次に示します。

Imports System
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates



Class X500Sample
   Shared 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
 = CType(store.Certificates, X509Certificate2Collection)
         Dim fcollection As X509Certificate2Collection
 = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False),
 X509Certificate2Collection)
         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)
     msg = "Number of certificates: " & scollection.Count
 & Environment.NewLine
     MsgBox(msg)
         Dim x509 As X509Certificate2
         For Each x509 In
  scollection
            Dim dname As New
 X500DistinguishedName(x509.SubjectName)
        msg = "X500DistinguishedName: " & dname.Name
 & Environment.NewLine
     MsgBox(msg)
            x509.Reset()
         Next x509
         store.Close()
     Catch e As Exception
            msg = "Error: Information could not be written out
 for this certificate."
            MsgBox(msg)
      End Try
   End Sub 'Main 
End Class 'X500Sample
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class X500Sample
{
    static void Main()
    {
        try
        {
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)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: {0}{1}", scollection.Count,
 Environment.NewLine);
            foreach (X509Certificate2 x509 in
 scollection)
            {
                X500DistinguishedName dname = new X500DistinguishedName(x509.SubjectName);
                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.");
        }

    }
}
#using <System.dll>
#using <system.security.dll>

using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Permissions;
using namespace System::IO;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store ^ store = gcnew X509Store( "MY",StoreLocation::CurrentUser
 );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly)
 );
      X509Certificate2Collection ^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      X509Certificate2Collection ^ fcollection = dynamic_cast<X509Certificate2Collection^>(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: {0}{1}", scollection->Count,
 Environment::NewLine );
      System::Collections::IEnumerator^ myEnum = scollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         X509Certificate2 ^ x509 = safe_cast<X509Certificate2 ^>(myEnum->Current);
         X500DistinguishedName ^ dname = gcnew X500DistinguishedName( x509->SubjectName
 );
         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 クラス
X500DistinguishedName メンバ
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

X500DistinguishedName クラス
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

X500DistinguishedName クラス
System.Security.Cryptography.X509Certificates 名前空間

X500DistinguishedName メンバ

X509 証明書の識別名を表します。このクラスは継承できません。

X500DistinguishedName データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド X500DistinguishedName オーバーロードされます。 X500DistinguishedName クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

X500DistinguishedName クラス
System.Security.Cryptography.X509Certificates 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「X500DistinguishedName」の関連用語

X500DistinguishedNameのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



X500DistinguishedNameのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS