X509NameType Wyliczenie

Definicja

Określa typ nazwy certyfikatu X509.

C#
public enum X509NameType
Dziedziczenie
X509NameType

Pola

Nazwa Wartość Opis
DnsFromAlternativeName 4

Nazwa DNS skojarzona z alternatywną nazwą podmiotu lub wystawcą certyfikatu X.509. Ta wartość jest równoważna DnsName wartości.

DnsName 3

Nazwa DNS skojarzona z alternatywną nazwą podmiotu lub wystawcy certyfikatu X509.

EmailName 1

Adres e-mail podmiotu lub wystawcy skojarzonego z certyfikatem X509.

SimpleName 0

Prosta nazwa podmiotu lub wystawcy certyfikatu X509.

UpnName 2

Nazwa UPN podmiotu lub wystawcy certyfikatu X509.

UrlName 5

Adres URL skojarzony z alternatywną nazwą podmiotu lub wystawcy certyfikatu X509.

Przykłady

Poniższy przykład otwiera bieżący magazyn certyfikatów użytkownika, wybiera tylko aktywne certyfikaty, a następnie umożliwia użytkownikowi wybranie co najmniej jednego certyfikatu. W tym przykładzie są zapisywane informacje o certyfikacie w konsoli programu .

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();
    }
}

Uwagi

Typ nazwy może być prostą nazwą, adresem e-mail, główną nazwą użytkownika (UPN), nazwą systemu nazw domen (DNS) lub adresem URL. Certyfikat X509 może mieć co najmniej jedną z tych nazw. Nazwę certyfikatu można uzyskać przy użyciu metody GetNameInfo.

Dotyczy

Produkt Wersje
.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