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
| Nom | Valeur | Description |
|---|---|---|
| None | 0 | Le nom unique n’a aucune caractéristique particulière. |
| Reversed | 1 | Le nom unique est inversé. |
| UseSemicolons | 16 | Le nom unique utilise des points-virgules. |
| DoNotUsePlusSign | 32 | Le nom unique n’utilise pas le signe plus. |
| DoNotUseQuotes | 64 | Le nom unique n’utilise pas de guillemets. |
| UseCommas | 128 | Le nom unique utilise des virgules. |
| UseNewLines | 256 | Le nom unique utilise le nouveau caractère de ligne. |
| UseUTF8Encoding | 4096 | Le nom unique utilise l’encodage UTF8 au lieu de l’encodage de caractères Unicode. |
| UseT61Encoding | 8192 | Le nom unique utilise l’encodage T61. |
| ForceUTF8Encoding | 16384 | Force le nom unique à encoder des clés X.500 spécifiques en tant que chaînes UTF-8 plutôt que des chaînes Unicode imprimables. Pour plus d’informations et la liste des clés X.500 affectées, consultez l’énumération X500NameFlags. |
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 ; utilisez une seule de ces valeurs pour définir les caractéristiques spéciales d’un nom unique X.500. Par exemple, spécifiez uniquement l’une des UseCommasvaleurs , UseNewLines et UseSemicolons les valeurs. Vous devez également spécifier l’une ou l’autre UseT61Encoding ou UseUTF8Encoding.