X500DistinguishedNameFlags Enumeration
Specifies characteristics of the X.500 distinguished name.
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Assembly: System (in System.dll)
| Member name | Description | |
|---|---|---|
| DoNotUsePlusSign | The distinguished name does not use the plus sign. | |
| DoNotUseQuotes | The distinguished name does not use quotation marks. | |
| ForceUTF8Encoding | Forces the distinguished name to encode specific X.500 keys as UTF-8 strings rather than printable Unicode strings. For more information and the list of X.500 keys affected, see the X500NameFlags enumeration. | |
| None | The distinguished name has no special characteristics. | |
| Reversed | The distinguished name is reversed. | |
| UseCommas | The distinguished name uses commas. | |
| UseNewLines | The distinguished name uses the new line character. | |
| UseSemicolons | The distinguished name uses semicolons. | |
| UseT61Encoding | The distinguished name uses T61 encoding. | |
| UseUTF8Encoding | The distinguished name uses UTF8 encoding instead of Unicode character encoding. |
This enumeration is used with the X500DistinguishedNameFlags class to indicate special characters contained in the distinguished name.
Several values are mutually exclusive in this enumeration; use only one of these values to define the special characteristics of an X.500 distinguished name. For example, specify only one of the UseCommas, UseNewLines , and UseSemicolons values. You would also specify either UseT61Encoding or UseUTF8Encoding .
The following code example shows how to use the X500DistinguishedNameFlags enumeration.
#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." ); } }
Available since 2.0