Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

X509BasicConstraintsExtension, classe

Définit le jeu de contraintes placées sur un certificat. Cette classe ne peut pas être héritée.

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

Espace de noms :  System.Security.Cryptography.X509Certificates
Assembly :  System (dans System.dll)

public sealed class X509BasicConstraintsExtension : X509Extension

Le type X509BasicConstraintsExtension expose les membres suivants.

  NomDescription
Méthode publiqueX509BasicConstraintsExtension()Initialise une nouvelle instance de la classe X509BasicConstraintsExtension.
Méthode publiqueX509BasicConstraintsExtension(AsnEncodedData, Boolean)Initialise une nouvelle instance de la classe X509BasicConstraintsExtension à l'aide d'un objet AsnEncodedData et d'une valeur qui identifie si l'extension est essentielle.
Méthode publiqueX509BasicConstraintsExtension(Boolean, Boolean, Int32, Boolean)Initialise une nouvelle instance de la classe X509BasicConstraintsExtension. Les paramètres spécifient une valeur qui indique si un certificat vient d'une autorité de certification, une valeur qui indique si le certificat contient une restriction sur le nombre de niveaux de chemin d'accès qu'il autorise, le nombre de niveaux autorisés dans le chemin d'accès d'un certificat, et une valeur qui indique si l'extension est essentielle.
Début

  NomDescription
Propriété publiqueCertificateAuthorityObtient une valeur qui indique si un certificat vient d'une autorité de certification.
Propriété publiqueCriticalObtient une valeur booléenne qui indique si l'extension est critique. (Hérité de X509Extension.)
Propriété publiqueHasPathLengthConstraintObtient une valeur qui indique si un certificat contient une restriction sur le nombre de niveaux de chemin d'accès qu'il autorise.
Propriété publiqueOidObtient ou définit la valeur Oid pour un objet AsnEncodedData. (Hérité de AsnEncodedData.)
Propriété publiquePathLengthConstraintObtient le nombre de niveaux autorisés dans le chemin d'accès d'un certificat.
Propriété publiqueRawDataObtient ou définit les données encodées ASN.1 (Abstract Syntax Notation One) représentées dans un tableau d'octets. (Hérité de AsnEncodedData.)
Début

  NomDescription
Méthode publiqueCopyFromInitialise une nouvelle instance de la classe X509BasicConstraintsExtension avec un objet AsnEncodedData. (Substitue X509Extension.CopyFrom(AsnEncodedData).)
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueFormatRetourne une version mise en forme des données encodées ASN.1 (Abstract Syntax Notation One) sous forme de chaîne. (Hérité de AsnEncodedData.)
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

Cette classe fournit des propriétés qui définissent le jeu de contraintes de base placées sur un certificat.

L'exemple de code suivant montre comment ouvrir le magasin de certificats personnels d'un utilisateur et afficher des informations sur chaque certificat. Cet exemple utilise la classe X509BasicConstraintsExtension pour afficher les informations.


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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft