X500DistinguishedNameFlags Enumerazione

Definizione

Specifica le caratteristiche del nome distinto X.500.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

public enum class X500DistinguishedNameFlags
[System.Flags]
public enum X500DistinguishedNameFlags
[<System.Flags>]
type X500DistinguishedNameFlags = 
Public Enum X500DistinguishedNameFlags
Ereditarietà
X500DistinguishedNameFlags
Attributi

Campi

Nome Valore Descrizione
None 0

Il nome distinto non presenta caratteristiche speciali.

Reversed 1

Il nome distinto viene invertito.

UseSemicolons 16

Il nome distinto usa punti e virgola.

DoNotUsePlusSign 32

Il nome distinto non usa il segno più.

DoNotUseQuotes 64

Il nome distinto non usa le virgolette.

UseCommas 128

Il nome distinto usa virgole.

UseNewLines 256

Il nome distinto utilizza il nuovo carattere di riga.

UseUTF8Encoding 4096

Il nome distinto usa la codifica UTF8 anziché la codifica dei caratteri Unicode.

UseT61Encoding 8192

Il nome distinto usa la codifica T61.

ForceUTF8Encoding 16384

Impone al nome distinto di codificare chiavi X.500 specifiche come stringhe UTF-8 anziché stringhe Unicode stampabili. Per altre informazioni e l'elenco delle chiavi X.500 interessate, vedere l'enumerazione X500NameFlags.

Esempio

Nell'esempio di codice seguente viene illustrato come usare l'enumerazione 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

Commenti

Questa enumerazione viene utilizzata con la X500DistinguishedName classe per indicare caratteri speciali contenuti nel nome distinto.

Diversi valori si escludono a vicenda in questa enumerazione; utilizzare solo uno di questi valori per definire le caratteristiche speciali di un nome distinto X.500. Ad esempio, specificare solo uno dei UseCommasvalori , UseNewLines e UseSemicolons . Specificare anche UseT61Encoding o UseUTF8Encoding.

Si applica a