X509BasicConstraintsExtension Classe
TOC
Comprimi il sommario
Espandi il sommario
Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe X509BasicConstraintsExtension

 

Definisce i vincoli impostati per un certificato. Questa classe non può essere ereditata.

Spazio dei nomi:   System.Security.Cryptography.X509Certificates
Assembly:  System (in System.dll)


public sealed class X509BasicConstraintsExtension : X509Extension

NomeDescrizione
System_CAPS_pubmethodX509BasicConstraintsExtension()

Inizializza una nuova istanza della classe X509BasicConstraintsExtension.

System_CAPS_pubmethodX509BasicConstraintsExtension(AsnEncodedData, Boolean)

Inizializza una nuova istanza della classe X509BasicConstraintsExtension utilizzando un oggetto AsnEncodedData e un valore che identifica se l'estensione è critica.

System_CAPS_pubmethodX509BasicConstraintsExtension(Boolean, Boolean, Int32, Boolean)

Inizializza una nuova istanza della classe X509BasicConstraintsExtension.I parametri specificano un valore che indica se un certificato appartiene a un'autorità di certificazione, un valore che indica se per il certificato esiste un numero limite di livelli di percorso consentiti, il numero di livelli consentiti per il percorso del certificato e un valore che indica se l'estensione è critica.

NomeDescrizione
System_CAPS_pubpropertyCertificateAuthority

Ottiene un valore che indica se un certificato appartiene a un'autorità di certificazione.

System_CAPS_pubpropertyCritical

Ottiene un valore Boolean che indica se l'estensione è critica.(Ereditato da X509Extension.)

System_CAPS_pubpropertyHasPathLengthConstraint

Ottiene un valore che indica se per un certificato esiste un numero limite di livelli di percorso consentiti.

System_CAPS_pubpropertyOid

Ottiene o imposta il valore Oid per un oggetto AsnEncodedData.(Ereditato da AsnEncodedData.)

System_CAPS_pubpropertyPathLengthConstraint

Ottiene il numero di livelli consentiti nel percorso di un certificato.

System_CAPS_pubpropertyRawData

Ottiene o imposta i dati con codifica ASN.1 rappresentati in una matrice di byte.(Ereditato da AsnEncodedData.)

NomeDescrizione
System_CAPS_pubmethodCopyFrom(AsnEncodedData)

Inizializza una nuova istanza della classe X509BasicConstraintsExtension utilizzando un oggetto AsnEncodedData.(Esegue l’override di X509Extension.CopyFrom(AsnEncodedData)).

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_pubmethodFormat(Boolean)

Restituisce una versione formattata dei dati con codifica ASN.1 come stringa.(Ereditato da AsnEncodedData.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash per un particolare tipo. (Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene il Type dell'istanza corrente. (Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

Questa classe fornisce proprietà che definiscono i vincoli di base impostati per un certificato.

Nell'esempio di codice riportato di seguito viene illustrato come aprire un archivio dei certificati personali di un utente e come visualizzare informazioni su ogni certificato presente nell'archivio. Nell'esempio viene utilizzata la classe X509BasicConstraintsExtension per visualizzare le informazioni.

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

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 2.0

Eventuali membri pubblici statici (Shared in Visual Basic) di questo tipo sono thread-safe. I membri di istanza non sono garantiti come thread-safe.

Torna all'inizio
Mostra:
© 2016 Microsoft