X509Extension (Constructor) (AsnEncodedData, Boolean)
.NET Framework 2.0
Nota: este constructor es nuevo en la versión 2.0 de .NET Framework.
Inicializa una nueva instancia de la clase X509Extension.
Espacio de nombres: System.Security.Cryptography.X509Certificates
Ensamblado: System (en system.dll)
Ensamblado: System (en system.dll)
public X509Extension ( AsnEncodedData encodedExtension, boolean critical )
public function X509Extension ( encodedExtension : AsnEncodedData, critical : boolean )
Parámetros
- encodedExtension
Datos codificados que se van a utilizar para crear la extensión.
- critical
Es true si la extensión es crítica; en caso contrario, es false.
Utilice este constructor si la información para crear la extensión ya se encuentra en un objeto AsnEncodedData.
En el siguiente ejemplo de código se muestra cómo se utiliza la clase X509Extension.
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."); } } }
Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.