Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase X509SubjectKeyIdentifierExtension

 

Publicado: octubre de 2016

Define una cadena que identifica el identificador de clave del firmante (SKI) del certificado. Esta clase no puede heredarse.

Espacio de nombres:   System.Security.Cryptography.X509Certificates
Ensamblado:  System (en System.dll)

System.Object
  System.Security.Cryptography.AsnEncodedData
    System.Security.Cryptography.X509Certificates.X509Extension
      System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension

public sealed class X509SubjectKeyIdentifierExtension : X509Extension

NombreDescripción
System_CAPS_pubmethodX509SubjectKeyIdentifierExtension()

Inicializa una nueva instancia de la clase X509SubjectKeyIdentifierExtension.

System_CAPS_pubmethodX509SubjectKeyIdentifierExtension(AsnEncodedData, Boolean)

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

System_CAPS_pubmethodX509SubjectKeyIdentifierExtension(Byte[], Boolean)

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

System_CAPS_pubmethodX509SubjectKeyIdentifierExtension(PublicKey, Boolean)

Inicializa una nueva instancia de la X509SubjectKeyIdentifierExtension clase utilizando una clave pública y un valor que indica si la extensión es crítica.

System_CAPS_pubmethodX509SubjectKeyIdentifierExtension(PublicKey, X509SubjectKeyIdentifierHashAlgorithm, Boolean)

Inicializa una nueva instancia de la X509SubjectKeyIdentifierExtension clase con una clave pública, un identificador del algoritmo hash y un valor que indica si la extensión es crítica.

System_CAPS_pubmethodX509SubjectKeyIdentifierExtension(String, Boolean)

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

NombreDescripción
System_CAPS_pubpropertyCritical

Obtiene un valor booleano que indica si la extensión es crítica.(Heredado de X509Extension).

System_CAPS_pubpropertyOid

Obtiene o establece la Oid valor para un AsnEncodedData objeto.(Heredado de AsnEncodedData).

System_CAPS_pubpropertyRawData

Obtiene o establece los datos codificados ASN.1 Abstract Syntax Notation One representados en una matriz de bytes.(Heredado de AsnEncodedData).

System_CAPS_pubpropertySubjectKeyIdentifier

Obtiene una cadena que representa el identificador de clave de sujeto (SKI) para un certificado.

NombreDescripción
System_CAPS_pubmethodCopyFrom(AsnEncodedData)

Crea una nueva instancia de la X509SubjectKeyIdentifierExtension clase copiando la información de los datos codificados.(Invalida X509Extension.CopyFrom(AsnEncodedData)).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_pubmethodFormat(Boolean)

Devuelve una versión con formato de los datos codificados ASN.1 Abstract Syntax Notation One como una cadena.(Heredado de AsnEncodedData).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

There are several ways to identify a certificate: by the hash of the certificate, by the issuer and serial number, and by the subject key identifier (SKI). The SKI provides a unique identification for the certificate's subject and is often used when working with XML digital signing.

The following code example demonstrates how to open a user’s personal certificate store and display information about each certificate in the store. This example uses the T:System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension class to display the information.

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

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: