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

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > X509SubjectKeyIdentifierExtension クラスの意味・解説 

X509SubjectKeyIdentifierExtension クラス

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

証明書サブジェクト キー識別子 (SKI: Subject Key Identifier) を示す文字列を定義します。このクラス継承できません。

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

Public NotInheritable Class
 X509SubjectKeyIdentifierExtension
    Inherits X509Extension
Dim instance As X509SubjectKeyIdentifierExtension
public sealed class X509SubjectKeyIdentifierExtension
 : X509Extension
public ref class X509SubjectKeyIdentifierExtension
 sealed : public X509Extension
public final class X509SubjectKeyIdentifierExtension
 extends X509Extension
public final class X509SubjectKeyIdentifierExtension
 extends X509Extension
解説解説
使用例使用例

ユーザー個人用証明書ストア開き、そこに格納されている各証明書に関する情報表示するコード例次に示します。この例では、X509SubjectKeyIdentifierExtension クラス使用して情報表示してます。

Imports System
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates



Module CertSelect

    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 i As Integer
            For i = 0 To collection.Count
                Dim extension As X509Extension
                For Each extension In
 collection(i).Extensions
                    Console.WriteLine(extension.Oid.FriendlyName + "("
 + extension.Oid.Value + ")")


                    If extension.Oid.FriendlyName = "Key
 Usage" Then
                        Dim ext As X509KeyUsageExtension
 = CType(extension, X509KeyUsageExtension)
                        Console.WriteLine(ext.KeyUsages)
                    End If

                    If extension.Oid.FriendlyName = "Basic
 Constraints" Then
                        Dim ext As X509BasicConstraintsExtension
 = CType(extension, X509BasicConstraintsExtension)
                        Console.WriteLine(ext.CertificateAuthority)
                        Console.WriteLine(ext.HasPathLengthConstraint)
                        Console.WriteLine(ext.PathLengthConstraint)
                    End If

                    If extension.Oid.FriendlyName = "Subject
 Key Identifier" Then
                        Dim ext As X509SubjectKeyIdentifierExtension
 = CType(extension, X509SubjectKeyIdentifierExtension)
                        Console.WriteLine(ext.SubjectKeyIdentifier)
                    End If

                    If extension.Oid.FriendlyName = "Enhanced
 Key Usage" Then
                        Dim ext As X509EnhancedKeyUsageExtension
 = CType(extension, X509EnhancedKeyUsageExtension)
                        Dim oids As OidCollection
 = ext.EnhancedKeyUsages
                        Dim oid As Oid
                        For Each oid In
 oids
                            Console.WriteLine(oid.FriendlyName + "("
 + oid.Value + ")")
                        Next oid
                    End If
                Next extension
            Next i
            store.Close()
        Catch
            Console.WriteLine("Information could not be written
 out for this certificate.")
        End Try

    End Sub
End Module
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

public class CertSelect
{
    public static void Main()
    {
        try
        {
            X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            for (int i = 0; i < collection.Count;
 i++)
            {
                foreach (X509Extension extension in
 collection[i].Extensions)
                {
                    Console.WriteLine(extension.Oid.FriendlyName + "("
 + extension.Oid.Value + ")");
   

                    if (extension.Oid.FriendlyName == "Key
 Usage")
                    {
                        X509KeyUsageExtension ext = (X509KeyUsageExtension)extension;
                        Console.WriteLine(ext.KeyUsages);
                    }

                    if (extension.Oid.FriendlyName == "Basic
 Constraints")
                    {
                        X509BasicConstraintsExtension ext = (X509BasicConstraintsExtension)extension;
                        Console.WriteLine(ext.CertificateAuthority);
                        Console.WriteLine(ext.HasPathLengthConstraint);
                        Console.WriteLine(ext.PathLengthConstraint);
                    }

                    if (extension.Oid.FriendlyName == "Subject
 Key Identifier")
                    {
                        X509SubjectKeyIdentifierExtension ext = (X509SubjectKeyIdentifierExtension)extension;
                        Console.WriteLine(ext.SubjectKeyIdentifier);
                    }

                    if (extension.Oid.FriendlyName == "Enhanced
 Key Usage")
                    {
                        X509EnhancedKeyUsageExtension ext = (X509EnhancedKeyUsageExtension)extension;
                        OidCollection oids = ext.EnhancedKeyUsages;
                        foreach (Oid oid in
 oids)
                        {
                            Console.WriteLine(oid.FriendlyName + "(" +
 oid.Value + ")");
                        }
                    }
                }
            }
            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::Cryptography::X509Certificates;
int main()
{
   try
   {
      X509Store^ store = gcnew X509Store( L"MY",StoreLocation::CurrentUser
 );
      store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly)
 );
      X509Certificate2Collection^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
      for ( int i = 0; i < collection->Count;
 i++ )
      {
         System::Collections::IEnumerator^ myEnum = collection[ i ]->Extensions->GetEnumerator();
         while ( myEnum->MoveNext() )
         {
            X509Extension^ extension = safe_cast<X509Extension^>(myEnum->Current);
            Console::WriteLine( L"{0}({1})", extension->Oid->FriendlyName,
 extension->Oid->Value );
            if ( extension->Oid->FriendlyName == L"Key
 Usage" )
            {
               X509KeyUsageExtension^ ext = dynamic_cast<X509KeyUsageExtension^>(extension);
               Console::WriteLine( ext->KeyUsages );
            }
            if ( extension->Oid->FriendlyName == L"Basic
 Constraints" )
            {
               X509BasicConstraintsExtension^ ext = dynamic_cast<X509BasicConstraintsExtension^>(extension);
               Console::WriteLine( ext->CertificateAuthority );
               Console::WriteLine( ext->HasPathLengthConstraint );
               Console::WriteLine( ext->PathLengthConstraint );
            }
            if ( extension->Oid->FriendlyName == L"Subject
 Key Identifier" )
            {
               X509SubjectKeyIdentifierExtension^ ext = dynamic_cast<X509SubjectKeyIdentifierExtension^>(extension);
               Console::WriteLine( ext->SubjectKeyIdentifier );
            }
            if ( extension->Oid->FriendlyName == L"Enhanced
 Key Usage" )
            {
               X509EnhancedKeyUsageExtension^ ext = dynamic_cast<X509EnhancedKeyUsageExtension^>(extension);
               OidCollection^ oids = ext->EnhancedKeyUsages;
               System::Collections::IEnumerator^ myEnum1 = oids->GetEnumerator();
               while ( myEnum1->MoveNext() )
               {
                  Oid^ oid = safe_cast<Oid^>(myEnum1->Current);
                  Console::WriteLine( L"{0}({1})", oid->FriendlyName,
 oid->Value );
               }
            }
         }

      }
      store->Close();
   }
   catch ( CryptographicException^ ) 
   {
      Console::WriteLine( L"Information could not be written out for
 this certificate." );
   }

}

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



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

辞書ショートカット

すべての辞書の索引

「X509SubjectKeyIdentifierExtension クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS