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

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > 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 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「X500DistinguishedName クラス」の関連用語

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

   

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



X500DistinguishedName クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS