X509EnhancedKeyUsageExtension Klasa

Definicja

Definiuje kolekcję identyfikatorów obiektów (OID), która wskazuje aplikacje używające klucza. Klasa ta nie może być dziedziczona.

C#
public sealed class X509EnhancedKeyUsageExtension : System.Security.Cryptography.X509Certificates.X509Extension
Dziedziczenie
X509EnhancedKeyUsageExtension

Przykłady

W poniższym przykładzie kodu pokazano, jak otworzyć osobisty magazyn certyfikatów użytkownika i wyświetlić informacje o każdym certyfikacie w magazynie. W tym przykładzie użyto X509EnhancedKeyUsageExtension klasy do wyświetlenia informacji.

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

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

            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            for (int i = 0; i < collection.Count; i++)
            {
                foreach (X509Extension extension in collection[i].Extensions)
                {
                    Console.WriteLine(extension.Oid.FriendlyName + "(" + extension.Oid.Value + ")");

                    if (extension.Oid.FriendlyName == "Key Usage")
                    {
                        X509KeyUsageExtension ext = (X509KeyUsageExtension)extension;
                        Console.WriteLine(ext.KeyUsages);
                    }

                    if (extension.Oid.FriendlyName == "Basic Constraints")
                    {
                        X509BasicConstraintsExtension ext = (X509BasicConstraintsExtension)extension;
                        Console.WriteLine(ext.CertificateAuthority);
                        Console.WriteLine(ext.HasPathLengthConstraint);
                        Console.WriteLine(ext.PathLengthConstraint);
                    }

                    if (extension.Oid.FriendlyName == "Subject Key Identifier")
                    {
                        X509SubjectKeyIdentifierExtension ext = (X509SubjectKeyIdentifierExtension)extension;
                        Console.WriteLine(ext.SubjectKeyIdentifier);
                    }

                    if (extension.Oid.FriendlyName == "Enhanced Key Usage")
                    {
                        X509EnhancedKeyUsageExtension ext = (X509EnhancedKeyUsageExtension)extension;
                        OidCollection oids = ext.EnhancedKeyUsages;
                        foreach (Oid oid in oids)
                        {
                            Console.WriteLine(oid.FriendlyName + "(" + oid.Value + ")");
                        }
                    }
                }
            }
            store.Close();
        }
        catch (CryptographicException)
        {
            Console.WriteLine("Information could not be written out for this certificate.");
        }
    }
}

Uwagi

Rozszerzenie rozszerzonego użycia klucza (EKU) to kolekcja identyfikatorów obiektów (OID), które wskazują aplikacje korzystające z klucza.

Konstruktory

X509EnhancedKeyUsageExtension()

Inicjuje nowe wystąpienie klasy X509EnhancedKeyUsageExtension.

X509EnhancedKeyUsageExtension(AsnEncodedData, Boolean)

Inicjuje nowe wystąpienie X509EnhancedKeyUsageExtension klasy przy użyciu AsnEncodedData obiektu i wartość, która określa, czy rozszerzenie ma krytyczne znaczenie.

X509EnhancedKeyUsageExtension(OidCollection, Boolean)

Inicjuje X509EnhancedKeyUsageExtension nowe wystąpienie klasy przy użyciu wartości OidCollection i, która określa, czy rozszerzenie ma krytyczne znaczenie.

Właściwości

Critical

Pobiera wartość logiczną wskazującą, czy rozszerzenie ma krytyczne znaczenie.

(Odziedziczone po X509Extension)
EnhancedKeyUsages

Pobiera kolekcję identyfikatorów obiektów (OID), które wskazują aplikacje używające klucza.

Oid

Pobiera lub ustawia Oid wartość dla AsnEncodedData obiektu.

(Odziedziczone po AsnEncodedData)
RawData

Pobiera lub ustawia zakodowane w formacie ASN.1 dane zakodowane w postaci składni abstrakcyjnej (ASN.1) reprezentowane w tablicy bajtów.

(Odziedziczone po AsnEncodedData)

Metody

CopyFrom(AsnEncodedData)

Inicjuje X509EnhancedKeyUsageExtension nowe wystąpienie klasy przy użyciu AsnEncodedData obiektu .

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Format(Boolean)

Zwraca sformatowaną wersję danych zakodowanych w formacie Abstract Syntax Notation One (ASN.1) jako ciąg.

(Odziedziczone po AsnEncodedData)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

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