X509NameType Énumération

Définition

Spécifie le type de nom que contient le certificat X509.

C#
public enum X509NameType
Héritage
X509NameType

Champs

Nom Valeur Description
DnsFromAlternativeName 4

Nom DNS associé au nom alternatif de l'objet ou de l'émetteur d'un certificat X509. Cette valeur équivaut à la valeur de DnsName.

DnsName 3

Nom DNS associé au nom alternatif de l'objet ou de l'émetteur d'un certificat X509.

EmailName 1

Adresse de messagerie de l'objet ou de l'émetteur associé à un certificat X509.

SimpleName 0

Nom simple d'un objet ou d'un émetteur de certificat X509.

UpnName 2

Nom UPN de l'objet ou de l'émetteur d'un certificat X509.

UrlName 5

Adresse URL associée au nom alternatif de l'objet ou de l'émetteur d'un certificat X509.

Exemples

L’exemple suivant ouvre le magasin de certificats utilisateur actuel, sélectionne uniquement les certificats actifs, puis permet à l’utilisateur de sélectionner un ou plusieurs certificats. L’exemple écrit ensuite les informations de certificat dans la console.

C#
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;

class CertSelect
{
    static void Main()
    {
        X509Store store = new X509Store("MY",StoreLocation.CurrentUser);
        store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

        X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
        X509Certificate2Collection fcollection = (X509Certificate2Collection)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: {0}{1}",scollection.Count,Environment.NewLine);

        foreach (X509Certificate2 x509 in scollection)
        {
            try
            {
                byte[] rawdata = x509.RawData;
                Console.WriteLine("Content Type: {0}{1}",X509Certificate2.GetCertContentType(rawdata),Environment.NewLine);
                Console.WriteLine("Friendly Name: {0}{1}",x509.FriendlyName,Environment.NewLine);
                Console.WriteLine("Certificate Verified?: {0}{1}",x509.Verify(),Environment.NewLine);
                Console.WriteLine("Simple Name: {0}{1}",x509.GetNameInfo(X509NameType.SimpleName,true),Environment.NewLine);
                Console.WriteLine("Signature Algorithm: {0}{1}",x509.SignatureAlgorithm.FriendlyName,Environment.NewLine);
                Console.WriteLine("Public Key: {0}{1}",x509.PublicKey.Key.ToXmlString(false),Environment.NewLine);
                Console.WriteLine("Certificate Archived?: {0}{1}",x509.Archived,Environment.NewLine);
                Console.WriteLine("Length of Raw Data: {0}{1}",x509.RawData.Length,Environment.NewLine);
                X509Certificate2UI.DisplayCertificate(x509);
                x509.Reset();
            }
            catch (CryptographicException)
            {
                Console.WriteLine("Information could not be written out for this certificate.");
            }
        }
        store.Close();
    }
}

Remarques

Le type de nom peut être un nom simple, une adresse e-mail, un nom d’utilisateur principal (UPN), un nom DNS (Domain Name System) ou une URL. Un certificat X509 peut avoir un ou plusieurs de ces noms. Vous pouvez obtenir le nom d’un certificat à l’aide de la méthode GetNameInfo.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1