Partager via


X500DistinguishedNameFlags Énumération

Définition

Spécifie les caractéristiques du nom unique X.500.

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

public enum class X500DistinguishedNameFlags
[System.Flags]
public enum X500DistinguishedNameFlags
[<System.Flags>]
type X500DistinguishedNameFlags = 
Public Enum X500DistinguishedNameFlags
Héritage
X500DistinguishedNameFlags
Attributs

Champs

DoNotUsePlusSign 32

Le nom unique n'utilise pas le signe plus.

DoNotUseQuotes 64

Le nom unique n'utilise pas de guillemets.

ForceUTF8Encoding 16384

Force le nom unique à encoder les clés X.500 spécifiques sous forme de chaînes UTF-8 et non de chaînes Unicode imprimables. Pour obtenir plus d’informations et la liste des clés X.500 concernées, consultez l’énumération X500NameFlags.

None 0

Le nom unique n'a pas de caractéristiques spéciales.

Reversed 1

Le nom unique est inversé.

UseCommas 128

Le nom unique utilise des virgules.

UseNewLines 256

Le nom unique utilise le caractère de retour à la ligne.

UseSemicolons 16

Le nom unique utilise des points-virgules.

UseT61Encoding 8192

Le nom unique utilise l'encodage T61.

UseUTF8Encoding 4096

Le nom unique utilise l'encodage UTF8 au lieu de l'encodage de caractères Unicode.

Exemples

L’exemple de code suivant montre comment utiliser l’énumération X500DistinguishedNameFlags .

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

Remarques

Cette énumération est utilisée avec la X500DistinguishedName classe pour indiquer des caractères spéciaux contenus dans le nom unique.

Plusieurs valeurs s’excluent mutuellement dans cette énumération ; utiliser une seule de ces valeurs pour définir les caractéristiques spéciales d’un nom unique X.500. Par exemple, spécifiez une seule des UseCommasvaleurs , UseNewLines et UseSemicolons . Vous devez également spécifier ou UseT61EncodingUseUTF8Encoding.

S’applique à