X500DistinguishedNameFlags Enum

Definitie

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
X500DistinguishedNameFlags
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.

Van toepassing op