X509SubjectKeyIdentifierExtension Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension.
Перегрузки
X509SubjectKeyIdentifierExtension() |
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension. |
X509SubjectKeyIdentifierExtension(Byte[], Boolean) |
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью массива байтов и значения, указывающего, является ли расширение критическим. |
X509SubjectKeyIdentifierExtension(ReadOnlySpan<Byte>, Boolean) |
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью диапазона байтов только для чтения и значения, указывающего, является ли расширение критическим. |
X509SubjectKeyIdentifierExtension(AsnEncodedData, Boolean) |
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью закодированных данных и значения, указывающего, является ли расширение критическим. |
X509SubjectKeyIdentifierExtension(PublicKey, Boolean) |
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью открытого ключа и значения, указывающего, является ли расширение критическим. |
X509SubjectKeyIdentifierExtension(String, Boolean) |
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью строки и значения, указывающего, является ли расширение критическим. |
X509SubjectKeyIdentifierExtension(PublicKey, X509SubjectKeyIdentifierHashAlgorithm, Boolean) |
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью открытого ключа, идентификатора алгоритма хэша и значения, указывающего, является ли расширение критическим. |
X509SubjectKeyIdentifierExtension()
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension.
public:
X509SubjectKeyIdentifierExtension();
public X509SubjectKeyIdentifierExtension ();
Public Sub New ()
Примеры
В следующем примере кода показано, как открыть личное хранилище сертификатов пользователя и отобразить сведения о каждом сертификате в хранилище. В этом примере для отображения сведений X509SubjectKeyIdentifierExtension используется класс .
#using <System.dll>
#using <system.security.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::X509Certificates;
int main()
{
try
{
X509Store^ store = gcnew X509Store( L"MY",StoreLocation::CurrentUser );
store->Open( static_cast<OpenFlags>(OpenFlags::ReadOnly | OpenFlags::OpenExistingOnly) );
X509Certificate2Collection^ collection = dynamic_cast<X509Certificate2Collection^>(store->Certificates);
for ( int i = 0; i < collection->Count; i++ )
{
System::Collections::IEnumerator^ myEnum = collection[ i ]->Extensions->GetEnumerator();
while ( myEnum->MoveNext() )
{
X509Extension^ extension = safe_cast<X509Extension^>(myEnum->Current);
Console::WriteLine( L"{0}({1})", extension->Oid->FriendlyName, extension->Oid->Value );
if ( extension->Oid->FriendlyName == L"Key Usage" )
{
X509KeyUsageExtension^ ext = dynamic_cast<X509KeyUsageExtension^>(extension);
Console::WriteLine( ext->KeyUsages );
}
if ( extension->Oid->FriendlyName == L"Basic Constraints" )
{
X509BasicConstraintsExtension^ ext = dynamic_cast<X509BasicConstraintsExtension^>(extension);
Console::WriteLine( ext->CertificateAuthority );
Console::WriteLine( ext->HasPathLengthConstraint );
Console::WriteLine( ext->PathLengthConstraint );
}
if ( extension->Oid->FriendlyName == L"Subject Key Identifier" )
{
X509SubjectKeyIdentifierExtension^ ext = dynamic_cast<X509SubjectKeyIdentifierExtension^>(extension);
Console::WriteLine( ext->SubjectKeyIdentifier );
}
if ( extension->Oid->FriendlyName == L"Enhanced Key Usage" )
{
X509EnhancedKeyUsageExtension^ ext = dynamic_cast<X509EnhancedKeyUsageExtension^>(extension);
OidCollection^ oids = ext->EnhancedKeyUsages;
System::Collections::IEnumerator^ myEnum1 = oids->GetEnumerator();
while ( myEnum1->MoveNext() )
{
Oid^ oid = safe_cast<Oid^>(myEnum1->Current);
Console::WriteLine( L"{0}({1})", oid->FriendlyName, oid->Value );
}
}
}
}
store->Close();
}
catch ( CryptographicException^ )
{
Console::WriteLine( L"Information could not be written out for this certificate." );
}
}
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
Применяется к
X509SubjectKeyIdentifierExtension(Byte[], Boolean)
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью массива байтов и значения, указывающего, является ли расширение критическим.
public:
X509SubjectKeyIdentifierExtension(cli::array <System::Byte> ^ subjectKeyIdentifier, bool critical);
public X509SubjectKeyIdentifierExtension (byte[] subjectKeyIdentifier, bool critical);
new System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension : byte[] * bool -> System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension
Public Sub New (subjectKeyIdentifier As Byte(), critical As Boolean)
Параметры
- subjectKeyIdentifier
- Byte[]
Массив байтов, который представляет данные, используемые для создания расширения.
- critical
- Boolean
Значение true
, если расширение является критическим, в противном случае — false
.
Применяется к
X509SubjectKeyIdentifierExtension(ReadOnlySpan<Byte>, Boolean)
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью диапазона байтов только для чтения и значения, указывающего, является ли расширение критическим.
public:
X509SubjectKeyIdentifierExtension(ReadOnlySpan<System::Byte> subjectKeyIdentifier, bool critical);
public X509SubjectKeyIdentifierExtension (ReadOnlySpan<byte> subjectKeyIdentifier, bool critical);
new System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension : ReadOnlySpan<byte> * bool -> System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension
Public Sub New (subjectKeyIdentifier As ReadOnlySpan(Of Byte), critical As Boolean)
Параметры
- subjectKeyIdentifier
- ReadOnlySpan<Byte>
Диапазон байтов только для чтения, который представляет данные, используемые для создания расширения.
- critical
- Boolean
Значение true
, если расширение является критическим, в противном случае — false
.
Применяется к
X509SubjectKeyIdentifierExtension(AsnEncodedData, Boolean)
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью закодированных данных и значения, указывающего, является ли расширение критическим.
public:
X509SubjectKeyIdentifierExtension(System::Security::Cryptography::AsnEncodedData ^ encodedSubjectKeyIdentifier, bool critical);
public X509SubjectKeyIdentifierExtension (System.Security.Cryptography.AsnEncodedData encodedSubjectKeyIdentifier, bool critical);
new System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension : System.Security.Cryptography.AsnEncodedData * bool -> System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension
Public Sub New (encodedSubjectKeyIdentifier As AsnEncodedData, critical As Boolean)
Параметры
- encodedSubjectKeyIdentifier
- AsnEncodedData
Объект AsnEncodedData, используемый для создания расширения.
- critical
- Boolean
Значение true
, если расширение является критическим, в противном случае — false
.
Комментарии
Используйте этот конструктор, если сведения о создании расширения уже находятся в объекте AsnEncodedData .
Применяется к
X509SubjectKeyIdentifierExtension(PublicKey, Boolean)
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью открытого ключа и значения, указывающего, является ли расширение критическим.
public:
X509SubjectKeyIdentifierExtension(System::Security::Cryptography::X509Certificates::PublicKey ^ key, bool critical);
public X509SubjectKeyIdentifierExtension (System.Security.Cryptography.X509Certificates.PublicKey key, bool critical);
new System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension : System.Security.Cryptography.X509Certificates.PublicKey * bool -> System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension
Public Sub New (key As PublicKey, critical As Boolean)
Параметры
- critical
- Boolean
Значение true
, если расширение является критическим, в противном случае — false
.
Применяется к
X509SubjectKeyIdentifierExtension(String, Boolean)
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью строки и значения, указывающего, является ли расширение критическим.
public:
X509SubjectKeyIdentifierExtension(System::String ^ subjectKeyIdentifier, bool critical);
public X509SubjectKeyIdentifierExtension (string subjectKeyIdentifier, bool critical);
new System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension : string * bool -> System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension
Public Sub New (subjectKeyIdentifier As String, critical As Boolean)
Параметры
- subjectKeyIdentifier
- String
Строка в шестнадцатеричной кодировке, представляющая идентификатор ключа субъекта (SKI) для сертификата.
- critical
- Boolean
Значение true
, если расширение является критическим, в противном случае — false
.
Комментарии
Идентификатор ключа субъекта (SKI) можно использовать для идентификации сертификата и часто используется при работе с цифровой подписью XML.
Применяется к
X509SubjectKeyIdentifierExtension(PublicKey, X509SubjectKeyIdentifierHashAlgorithm, Boolean)
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
- Исходный код:
- X509SubjectKeyIdentifierExtension.cs
Инициализирует новый экземпляр класса X509SubjectKeyIdentifierExtension с помощью открытого ключа, идентификатора алгоритма хэша и значения, указывающего, является ли расширение критическим.
public:
X509SubjectKeyIdentifierExtension(System::Security::Cryptography::X509Certificates::PublicKey ^ key, System::Security::Cryptography::X509Certificates::X509SubjectKeyIdentifierHashAlgorithm algorithm, bool critical);
public X509SubjectKeyIdentifierExtension (System.Security.Cryptography.X509Certificates.PublicKey key, System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierHashAlgorithm algorithm, bool critical);
new System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension : System.Security.Cryptography.X509Certificates.PublicKey * System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierHashAlgorithm * bool -> System.Security.Cryptography.X509Certificates.X509SubjectKeyIdentifierExtension
Public Sub New (key As PublicKey, algorithm As X509SubjectKeyIdentifierHashAlgorithm, critical As Boolean)
Параметры
- algorithm
- X509SubjectKeyIdentifierHashAlgorithm
Одно из значений X509SubjectKeyIdentifierHashAlgorithm, которое определяет используемый алгоритм хэша.
- critical
- Boolean
Значение true
, если расширение является критическим, в противном случае — false
.