X509NameType 列挙体とは? わかりやすく解説

X509NameType 列挙体

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

X509 証明書が保持する名前の種類を指定します。

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

public enum X509NameType
public enum class X509NameType
public enum X509NameType
public enum X509NameType
メンバメンバ
 メンバ名説明
DnsFromAlternativeNameX509 証明書のサブジェクトまたは発行者の代替名に関連付けられた DNS 名です。この値は、DnsName 値と等価です。 
DnsNameX509 証明書のサブジェクトまたは発行者の代替名に関連付けられた DNS 名です。 
EmailNameX509 証明書のサブジェクトまたは発行者に関連付けられた電子メール アドレスです。 
SimpleNameX509 証明書のサブジェクトまたは発行者の通常の名前です。 
UpnNameX509 証明書のサブジェクトまたは発行者の UPN 名です。 
UrlNameX509 証明書のサブジェクトまたは発行者の代替名に関連付けられた URL アドレスです。 
解説解説

名前の種類としては、通常の名前、電子メール アドレス、UPN (User Principal Name)、ドメイン ネーム システム (DNS) 名、URL があります。X509 証明書には、このいずれかの名前が格納されています (複数の名前が格納されている場合もあります)。証明書の名前は、GetNameInfo メソッドを使って取得できます。

使用例使用例

現在のユーザーの証明書ストアを開いて、アクティブな証明書だけを選択し、ユーザーが 1 つ以上の証明書を選択できるようにする例を次に示します。この例では、次に、証明書情報をコンソールに書き込みます。

using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class CertSelect
{
    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)
                {
                    byte[] rawdata = x509.RawData;
                    Console.WriteLine("Content Type: {0}{1}",X509Certificate2.GetCertContentType(rawdata)
,Environment.NewLine);
                    Console.WriteLine("Friendly Name: {0}{1}",x509.FriendlyName
,Environment.NewLine);
                    Console.WriteLine("Certificate Verified?: {0}{1}",x509.Verify()
,Environment.NewLine);
                    Console.WriteLine("Simple Name: {0}{1}",x509.GetNameInfo(X509NameType.SimpleName
,true),Environment.NewLine);
                    Console.WriteLine("Signature Algorithm: {0}{1}",x509.SignatureAlgorithm.FriendlyName
,Environment.NewLine);
                    Console.WriteLine("Private Key: {0}{1}",x509.PrivateKey.ToXmlString(false)
,Environment.NewLine);
                    Console.WriteLine("Public Key: {0}{1}",x509.PublicKey.Key.ToXmlString(false)
,Environment.NewLine);
                    Console.WriteLine("Certificate Archived?: {0}{1}",x509.Archived
,Environment.NewLine);
                    Console.WriteLine("Length of Raw Data: {0}{1}",x509.RawData.Length
,Environment.NewLine);
                    X509Certificate2UI.DisplayCertificate(x509);
                    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);
         array<Byte>^rawdata = x509->RawData;
         Console::WriteLine( "Content Type: {0}{1}", X509Certificate2::GetCertContentType(
 rawdata ), Environment::NewLine );
         Console::WriteLine( "Friendly Name: {0}{1}", x509->FriendlyName,
 Environment::NewLine );
         Console::WriteLine( "Certificate Verified?: {0}{1}", x509->Verify(),
 Environment::NewLine );
         Console::WriteLine( "Simple Name: {0}{1}", x509->GetNameInfo(
 X509NameType::SimpleName, true ), Environment::NewLine );
         Console::WriteLine( "Signature Algorithm: {0}{1}", x509->SignatureAlgorithm->FriendlyName,
 Environment::NewLine );
         Console::WriteLine( "Private Key: {0}{1}", x509->PrivateKey->ToXmlString(
 false ), Environment::NewLine );
         Console::WriteLine( "Public Key: {0}{1}", x509->PublicKey->Key->ToXmlString(
 false ), Environment::NewLine );
         Console::WriteLine( "Certificate Archived?: {0}{1}", x509->Archived,
 Environment::NewLine );
         Console::WriteLine( "Length of Raw Data: {0}{1}", x509->RawData->Length,
 Environment::NewLine );
         x509->Reset();
      }
      store->Close();
   }
   catch ( CryptographicException^ ) 
   {
      Console::WriteLine( "Information could not be written out for
 this certificate." );
   }

}

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Security.Cryptography.X509Certificates 名前空間



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「X509NameType 列挙体」の関連用語

X509NameType 列挙体のお隣キーワード
検索ランキング

   

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



X509NameType 列挙体のページの著作権

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

©2026 GRAS Group, Inc.RSS