X500DistinguishedNameFlags Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 UseCommas
valeurs , UseNewLines
et UseSemicolons
. Vous devez également spécifier ou UseT61Encoding
UseUTF8Encoding
.