X509BasicConstraintsExtension クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
証明書に設定された制約を定義します。 このクラスは継承できません。
public ref class X509BasicConstraintsExtension sealed : System::Security::Cryptography::X509Certificates::X509Extension
public sealed class X509BasicConstraintsExtension : System.Security.Cryptography.X509Certificates.X509Extension
type X509BasicConstraintsExtension = class
inherit X509Extension
Public NotInheritable Class X509BasicConstraintsExtension
Inherits X509Extension
- 継承
例
次のコード例は、ユーザーの個人証明書ストアを開き、ストア内の各証明書に関する情報を表示する方法を示しています。 この例では、 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() |
X509BasicConstraintsExtension クラスの新しいインスタンスを初期化します。 |
| X509BasicConstraintsExtension(AsnEncodedData, Boolean) |
X509BasicConstraintsExtension オブジェクトと拡張機能が重要かどうかを識別する値を使用して、AsnEncodedData クラスの新しいインスタンスを初期化します。 |
| X509BasicConstraintsExtension(Boolean, Boolean, Int32, Boolean) |
X509BasicConstraintsExtension クラスの新しいインスタンスを初期化します。 パラメーターは、証明書が証明機関 (CA) 証明書であるかどうかを示す値、許可するパス レベルの数に制限があるかどうかを示す値、証明書のパスで許可されるレベルの数、および拡張機能が重要かどうかを示す値を指定します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| CertificateAuthority |
証明書が証明機関 (CA) 証明書であるかどうかを示す値を取得します。 |
| Critical |
拡張機能が重要かどうかを示すブール値を取得します。 (継承元 X509Extension) |
| HasPathLengthConstraint |
証明書が許可するパス レベルの数に制限があるかどうかを示す値を取得します。 |
| Oid |
Oid オブジェクトのAsnEncodedData値を取得または設定します。 (継承元 AsnEncodedData) |
| PathLengthConstraint |
証明書のパスで許可されるレベルの数を取得します。 |
| RawData |
バイト配列で表される抽象構文表記 1 (ASN.1) でエンコードされたデータを取得または設定します。 (継承元 AsnEncodedData) |
メソッド
| 名前 | 説明 |
|---|---|
| CopyFrom(AsnEncodedData) |
X509BasicConstraintsExtension オブジェクトを使用して、AsnEncodedData クラスの新しいインスタンスを初期化します。 |
| CreateForCertificateAuthority(Nullable<Int32>) |
必要に応じて、パスの長さの制約値を含む、証明機関に適した X509BasicConstraintsExtension のインスタンスを作成します。 |
| CreateForEndEntity(Boolean) |
エンド エンティティ証明書に適した X509BasicConstraintsExtension のインスタンスを作成し、必要に応じて拡張機能をクリティカルとしてマークします。 |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| Format(Boolean) |
抽象構文表記 1 (ASN.1) でエンコードされたデータの書式設定されたバージョンを文字列として返します。 (継承元 AsnEncodedData) |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |