X509BasicConstraintsExtension Constructores

Definición

Inicializa una nueva instancia de la clase X509BasicConstraintsExtension.

Sobrecargas

X509BasicConstraintsExtension()

Inicializa una nueva instancia de la clase X509BasicConstraintsExtension.

X509BasicConstraintsExtension(AsnEncodedData, Boolean)

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

X509BasicConstraintsExtension(Boolean, Boolean, Int32, Boolean)

Inicializa una nueva instancia de la clase X509BasicConstraintsExtension. Los parámetros especifican un valor que indica si el certificado es de una entidad de certificación (CA), otro valor que indica si existe alguna restricción en el número de niveles de ruta de acceso que permite, el número de niveles permitido en su ruta de acceso y un último valor que indica si la extensión es crítica.

X509BasicConstraintsExtension()

Inicializa una nueva instancia de la clase X509BasicConstraintsExtension.

public X509BasicConstraintsExtension ();

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

Se aplica a

.NET 7 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
.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
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

X509BasicConstraintsExtension(AsnEncodedData, Boolean)

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

public X509BasicConstraintsExtension (System.Security.Cryptography.AsnEncodedData encodedBasicConstraints, bool critical);

Parámetros

encodedBasicConstraints
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 una extensión ya está en un AsnEncodedData objeto .

Se aplica a

.NET 7 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
.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
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

X509BasicConstraintsExtension(Boolean, Boolean, Int32, Boolean)

Inicializa una nueva instancia de la clase X509BasicConstraintsExtension. Los parámetros especifican un valor que indica si el certificado es de una entidad de certificación (CA), otro valor que indica si existe alguna restricción en el número de niveles de ruta de acceso que permite, el número de niveles permitido en su ruta de acceso y un último valor que indica si la extensión es crítica.

public X509BasicConstraintsExtension (bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical);

Parámetros

certificateAuthority
Boolean

true si el certificado es de una entidad de certificación (CA); de lo contrario, false.

hasPathLengthConstraint
Boolean

true si el certificado tiene restringido el número de niveles de ruta de acceso que permite; de lo contrario, false.

pathLengthConstraint
Int32

Número de niveles permitido en la ruta de acceso de un certificado.

critical
Boolean

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

Se aplica a

.NET 7 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
.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
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1