es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo obtener información de certificado de atributos en .net?

Obteniendo certificados del almacenamiento:

X509Store almacenamiento = nuevo X509Store(“MY”, StoreLocation.CurrentUser);
almacenamiento.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

X509Certificate2Collection coleccion = (X509Certificate2Collection) almacenamiento.Certificates;
X509Certificate2Collection coleccionFiltro = (X509Certificate2Collection)coleccion.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
X509Certificate2Collection coleccionSeleccionada = X509Certificate2UI.SelectFromCollection(coleccionFiltro, “Selección de certificado de prueba”, “Seleccione un certificado de la siguiente lista para obtener información sobre ese certificado”, X509SelectionFlag.MultiSelection);

foreach (X509Certificate2 x509 in coleccionSeleccionada){
Console.WriteLine(“Nombre Simple: {0}{1}”, x509.GetNameInfo(X509NameType.SimpleName, true), Environment.NewLine);
}

El certificado seleccionado tiene un certificado de atributo. ¿Cómo se obtienen los datos del certificado de atributo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede obtener los datos del certificado de atributo usando la propiedad X509Certificate2.Extensions. Esta propiedad devuelve una colección de objetos X509Extension, los cuales pueden ser usados para acceder a los datos del certificado de atributo. Por ejemplo:


    foreach (X509Extension extension in x509.Extensions)
    {
    if (extension.Oid.Value == "1.3.6.1.4.1.311.20.2")
    {
    // Obtener los datos del certificado de atributo
    byte[] attributeCertificateData = extension.RawData;
    }
    }

Comments are closed.