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; 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."); } } }
Available since 2.0