X500DistinguishedNameFlags 列挙体
この列挙体には、メンバ値のビットごとの組み合わせを可能にする FlagsAttribute 属性が含まれています。
名前空間: System.Security.Cryptography.X509Certificatesアセンブリ: System (system.dll 内)
構文
<FlagsAttribute> _ Public Enumeration X500DistinguishedNameFlags
メンバ名 | 説明 | |
---|---|---|
DoNotUsePlusSign | 識別名で正符号 (+) が使用されません。 | |
DoNotUseQuotes | 識別名で引用符が使用されません。 | |
ForceUTF8Encoding | 識別名に UTF8 エンコーディングが使用されます。 | |
None | 識別名に特殊属性がありません。 | |
Reversed | 識別名が予約されます。 | |
UseCommas | 識別名でコンマが使用されます。 | |
UseNewLines | 識別名で改行文字が使用されます。 | |
UseSemicolons | 識別名でセミコロン (;) が使用されます。 | |
UseT61Encoding | 識別名に T61 エンコーディングが使用されます。 | |
UseUTF8Encoding | 識別名に UTF8 エンコーディングが使用されます。 |
この列挙体は、X500DistinguishedNameFlags クラスで、識別名に含まれる特殊な特性を示すために使用されます。
この列挙体のいくつかの値は、同時に指定できません。X.500 の識別名の特殊属性を定義するときは、これらの値のうち 1 つだけを使用してください。たとえば、UseCommas、UseNewLines、および UseSemicolons の各値のうち 1 つだけを指定します。UseT61Encoding と UseUTF8Encoding の場合も、どちらか一方を指定します。
X500DistinguishedNameFlags 列挙体を使用する方法を次のコード例に示します。
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." ); } }
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- X500DistinguishedNameFlags 列挙体のページへのリンク