X509EnhancedKeyUsageExtension Constructores

Definición

Inicializa una nueva instancia de la clase X509EnhancedKeyUsageExtension.

Sobrecargas

X509EnhancedKeyUsageExtension()

Inicializa una nueva instancia de la clase X509EnhancedKeyUsageExtension.

X509EnhancedKeyUsageExtension(AsnEncodedData, Boolean)

Inicializa una nueva instancia de la clase X509EnhancedKeyUsageExtension utilizando un objeto AsnEncodedData y un valor que identifica si la extensión es crítica.

X509EnhancedKeyUsageExtension(OidCollection, Boolean)

Inicializa una nueva instancia de la clase X509EnhancedKeyUsageExtension utilizando OidCollection y un valor que identifica si la extensión es crítica.

X509EnhancedKeyUsageExtension()

Source:
X509EnhancedKeyUsageExtension.cs
Source:
X509EnhancedKeyUsageExtension.cs
Source:
X509EnhancedKeyUsageExtension.cs

Inicializa una nueva instancia de la clase X509EnhancedKeyUsageExtension.

public X509EnhancedKeyUsageExtension ();

Ejemplos

En el ejemplo de código siguiente se muestra cómo abrir el almacén de certificados personal de un usuario y mostrar información sobre cada certificado del almacén. En este ejemplo se usa la X509EnhancedKeyUsageExtension clase para mostrar la información.

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.");
        }
    }
}

Comentarios

Use este método para crear una nueva instancia de la X509EnhancedKeyUsageExtension clase . Una vez creada la instancia, puede usar la EnhancedKeyUsages propiedad para obtener la colección de identificadores de objeto (OID) que indican las aplicaciones que usan la clave.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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

X509EnhancedKeyUsageExtension(AsnEncodedData, Boolean)

Source:
X509EnhancedKeyUsageExtension.cs
Source:
X509EnhancedKeyUsageExtension.cs
Source:
X509EnhancedKeyUsageExtension.cs

Inicializa una nueva instancia de la clase X509EnhancedKeyUsageExtension utilizando un objeto AsnEncodedData y un valor que identifica si la extensión es crítica.

public X509EnhancedKeyUsageExtension (System.Security.Cryptography.AsnEncodedData encodedEnhancedKeyUsages, bool critical);

Parámetros

encodedEnhancedKeyUsages
AsnEncodedData

Datos codificados que se van a utilizar para crear la extensión.

critical
Boolean

true si la extensión es crítica; de lo contrario, false.

Comentarios

Use este constructor si la información para crear la extensión ya está en un AsnEncodedData objeto .

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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

X509EnhancedKeyUsageExtension(OidCollection, Boolean)

Source:
X509EnhancedKeyUsageExtension.cs
Source:
X509EnhancedKeyUsageExtension.cs
Source:
X509EnhancedKeyUsageExtension.cs

Inicializa una nueva instancia de la clase X509EnhancedKeyUsageExtension utilizando OidCollection y un valor que identifica si la extensión es crítica.

public X509EnhancedKeyUsageExtension (System.Security.Cryptography.OidCollection enhancedKeyUsages, bool critical);

Parámetros

enhancedKeyUsages
OidCollection

Una colección OidCollection.

critical
Boolean

true si la extensión es crítica; de lo contrario, false.

Excepciones

OidCollection que se ha especificado contiene uno o más valores dañados.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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