X509Extension.CopyFrom メソッド
アセンブリ: System (system.dll 内)

Dim instance As X509Extension Dim asnEncodedData As AsnEncodedData instance.CopyFrom(asnEncodedData)
- asnEncodedData
コピーする AsnEncodedData。



X509Extension クラスを使用するコード例を次に示します。
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." ); } }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からX509Extension.CopyFrom メソッドを検索する場合は、下記のリンクをクリックしてください。

- X509Extension.CopyFrom メソッドのページへのリンク