X500DistinguishedNameFlags Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u kenmerken van de X.500 DN-naam.
Deze opsomming ondersteunt een bitsgewijze combinatie van de waarden van de leden.
public enum class X500DistinguishedNameFlags
[System.Flags]
public enum X500DistinguishedNameFlags
[<System.Flags>]
type X500DistinguishedNameFlags =
Public Enum X500DistinguishedNameFlags
- Overname
- Kenmerken
Velden
| Name | Waarde | Description |
|---|---|---|
| None | 0 | De DN-naam heeft geen speciale kenmerken. |
| Reversed | 1 | De DN-naam wordt omgekeerd. |
| UseSemicolons | 16 | De DN-naam maakt gebruik van puntkomma's. |
| DoNotUsePlusSign | 32 | De DN-naam gebruikt het plusteken niet. |
| DoNotUseQuotes | 64 | De DN-naam gebruikt geen aanhalingstekens. |
| UseCommas | 128 | De DN-naam maakt gebruik van komma's. |
| UseNewLines | 256 | De DN-naam maakt gebruik van het nieuwe regelteken. |
| UseUTF8Encoding | 4096 | De DN-naam maakt gebruik van UTF8-codering in plaats van Unicode-tekencodering. |
| UseT61Encoding | 8192 | De DN-naam maakt gebruik van T61-codering. |
| ForceUTF8Encoding | 16384 | Dwingt de DN-naam om specifieke X.500-sleutels te coderen als UTF-8-tekenreeksen in plaats van afdrukbare Unicode-tekenreeksen. Zie de opsomming X500NameFlags voor meer informatie en de lijst met betrokken X.500-sleutels. |
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de X500DistinguishedNameFlags opsomming gebruikt.
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
class X500Sample
{
static void Main()
{
try
{
X509Store store = new("MY", StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection = store.Certificates;
X509Certificate2Collection fcollection = 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: {scollection.Count}{Environment.NewLine}");
foreach (X509Certificate2 x509 in scollection)
{
X500DistinguishedName dname = new(
x509.SubjectName.Name,
X500DistinguishedNameFlags.Reversed | X500DistinguishedNameFlags.UseSemicolons
);
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.");
}
}
}
Imports System.Security.Cryptography.X509Certificates
Class X500Sample
Shared s_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 = store.Certificates
Dim fcollection As X509Certificate2Collection = collection.Find(X509FindType.FindByTimeValid, Date.Now, False)
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
)
s_msg = "Number of certificates: " & scollection.Count & Environment.NewLine
Console.WriteLine(s_msg)
Dim x509 As X509Certificate2
For Each x509 In scollection
Dim dname As New X500DistinguishedName(
x509.SubjectName.Name,
X500DistinguishedNameFlags.Reversed Or X500DistinguishedNameFlags.UseSemicolons
)
s_msg = "X500DistinguishedName: " & dname.Name & Environment.NewLine
Console.WriteLine(s_msg)
x509.Reset()
Next x509
store.Close()
Catch e As Exception
s_msg = "Error: Information could not be written out for this certificate."
Console.WriteLine(s_msg)
End Try
End Sub
End Class
Opmerkingen
Deze opsomming wordt gebruikt met de X500DistinguishedName klasse om speciale tekens in de DN-naam aan te geven.
Verschillende waarden sluiten elkaar wederzijds uit in deze opsomming; gebruik slechts één van deze waarden om de speciale kenmerken van een X.500 DN-naam te definiëren. Geef bijvoorbeeld slechts één van de UseCommas, UseNewLines en UseSemicolons waarden op. U zou ook een van beide opgeven UseT61Encoding of UseUTF8Encoding.