X509BasicConstraintsExtension Конструкторы

Определение

Инициализирует новый экземпляр класса X509BasicConstraintsExtension.

Перегрузки

Имя Описание
X509BasicConstraintsExtension()

Инициализирует новый экземпляр класса X509BasicConstraintsExtension.

X509BasicConstraintsExtension(AsnEncodedData, Boolean)

Инициализирует новый экземпляр X509BasicConstraintsExtension класса с помощью AsnEncodedData объекта и значения, определяющего, является ли расширение критически важным.

X509BasicConstraintsExtension(Boolean, Boolean, Int32, Boolean)

Инициализирует новый экземпляр класса X509BasicConstraintsExtension. Параметры указывают значение, указывающее, является ли сертификат сертификатом центра сертификации ( ЦС), значением, указывающим, имеет ли сертификат ограничение на количество уровней пути, которое он разрешает, число уровней, разрешенных в пути сертификата, и значение, указывающее, является ли расширение критически важным.

X509BasicConstraintsExtension()

Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs

Инициализирует новый экземпляр класса X509BasicConstraintsExtension.

public:
 X509BasicConstraintsExtension();
public X509BasicConstraintsExtension();
Public Sub New ()

Примеры

В следующем примере кода показано, как открыть личное хранилище сертификатов пользователя и отобразить сведения о каждом сертификате в хранилище. В этом примере для отображения сведений X509BasicConstraintsExtension используется класс.

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.");
        }
    }
}
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates



Module CertSelect

    Sub Main()
        Try
            Dim store As New X509Store("MY", StoreLocation.CurrentUser)
            store.Open(OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly)

            Dim collection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
            For i As Integer = 0 To collection.Count - 1
                Dim extension As X509Extension
                For Each extension In collection(i).Extensions
                    Console.WriteLine(extension.Oid.FriendlyName + "(" + extension.Oid.Value + ")")


                    If extension.Oid.FriendlyName = "Key Usage" Then
                        Dim ext As X509KeyUsageExtension = CType(extension, X509KeyUsageExtension)
                        Console.WriteLine(ext.KeyUsages)
                    End If

                    If extension.Oid.FriendlyName = "Basic Constraints" Then
                        Dim ext As X509BasicConstraintsExtension = CType(extension, X509BasicConstraintsExtension)
                        Console.WriteLine(ext.CertificateAuthority)
                        Console.WriteLine(ext.HasPathLengthConstraint)
                        Console.WriteLine(ext.PathLengthConstraint)
                    End If

                    If extension.Oid.FriendlyName = "Subject Key Identifier" Then
                        Dim ext As X509SubjectKeyIdentifierExtension = CType(extension, X509SubjectKeyIdentifierExtension)
                        Console.WriteLine(ext.SubjectKeyIdentifier)
                    End If

                    If extension.Oid.FriendlyName = "Enhanced Key Usage" Then
                        Dim ext As X509EnhancedKeyUsageExtension = CType(extension, X509EnhancedKeyUsageExtension)
                        Dim oids As OidCollection = ext.EnhancedKeyUsages
                        Dim oid As Oid
                        For Each oid In oids
                            Console.WriteLine(oid.FriendlyName + "(" + oid.Value + ")")
                        Next oid
                    End If
                Next extension
            Next i
            store.Close()
        Catch
            Console.WriteLine("Information could not be written out for this certificate.")
        End Try

    End Sub
End Module

Применяется к

X509BasicConstraintsExtension(AsnEncodedData, Boolean)

Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs

Инициализирует новый экземпляр X509BasicConstraintsExtension класса с помощью AsnEncodedData объекта и значения, определяющего, является ли расширение критически важным.

public:
 X509BasicConstraintsExtension(System::Security::Cryptography::AsnEncodedData ^ encodedBasicConstraints, bool critical);
public X509BasicConstraintsExtension(System.Security.Cryptography.AsnEncodedData encodedBasicConstraints, bool critical);
new System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension : System.Security.Cryptography.AsnEncodedData * bool -> System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension
Public Sub New (encodedBasicConstraints As AsnEncodedData, critical As Boolean)

Параметры

encodedBasicConstraints
AsnEncodedData

Кодированные данные, используемые для создания расширения.

critical
Boolean

true Значение , если расширение имеет критическое значение; falseв противном случае .

Комментарии

Используйте этот конструктор, если сведения о создании расширения уже находится в объекте AsnEncodedData .

Применяется к

X509BasicConstraintsExtension(Boolean, Boolean, Int32, Boolean)

Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs
Исходный код:
X509BasicConstraintsExtension.cs

Инициализирует новый экземпляр класса X509BasicConstraintsExtension. Параметры указывают значение, указывающее, является ли сертификат сертификатом центра сертификации ( ЦС), значением, указывающим, имеет ли сертификат ограничение на количество уровней пути, которое он разрешает, число уровней, разрешенных в пути сертификата, и значение, указывающее, является ли расширение критически важным.

public:
 X509BasicConstraintsExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical);
public X509BasicConstraintsExtension(bool certificateAuthority, bool hasPathLengthConstraint, int pathLengthConstraint, bool critical);
new System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension : bool * bool * int * bool -> System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension
Public Sub New (certificateAuthority As Boolean, hasPathLengthConstraint As Boolean, pathLengthConstraint As Integer, critical As Boolean)

Параметры

certificateAuthority
Boolean

true Значение , если сертификат является сертификатом центра сертификации (ЦС); falseв противном случае .

hasPathLengthConstraint
Boolean

true Значение , если сертификат имеет ограничение на количество уровней пути, которые он разрешает; falseв противном случае .

pathLengthConstraint
Int32

Количество уровней, разрешенных в пути сертификата.

critical
Boolean

true Значение , если расширение имеет критическое значение; falseв противном случае .

Применяется к