次の方法で共有


X509CertificateValidator クラス

定義

X.509 証明書を検証します。

public ref class X509CertificateValidator abstract
public ref class X509CertificateValidator abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class X509CertificateValidator
public abstract class X509CertificateValidator : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type X509CertificateValidator = class
type X509CertificateValidator = class
    interface ICustomIdentityConfiguration
Public MustInherit Class X509CertificateValidator
Public MustInherit Class X509CertificateValidator
Implements ICustomIdentityConfiguration
継承
X509CertificateValidator
派生
実装

public class MyX509CertificateValidator : X509CertificateValidator
{
    string allowedIssuerName;
    public MyX509CertificateValidator(string allowedIssuerName)
    {
        if (allowedIssuerName == null)
        {
            throw new ArgumentNullException("allowedIssuerName");
        }

        this.allowedIssuerName = allowedIssuerName;
    }
    public override void Validate(X509Certificate2 certificate)
    {
        // Check that there is a certificate.
        if (certificate == null)
        {
            throw new ArgumentNullException("certificate");
        }

        // Check that the certificate issuer matches the configured issuer
        if (allowedIssuerName != certificate.IssuerName.Name)
        {
            throw new SecurityTokenValidationException
              ("Certificate was not issued by a trusted issuer");
        }
    }
}

Public Class MyX509CertificateValidator
    Inherits X509CertificateValidator
    Private allowedIssuerName As String

    Public Sub New(ByVal allowedIssuerName As String)
        If allowedIssuerName Is Nothing Then
            Throw New ArgumentNullException("allowedIssuerName")
        End If

        Me.allowedIssuerName = allowedIssuerName

    End Sub

    Public Overrides Sub Validate(ByVal certificate As X509Certificate2)
        ' Check that there is a certificate.
        If certificate Is Nothing Then
            Throw New ArgumentNullException("certificate")
        End If

        ' Check that the certificate issuer matches the configured issuer
        If allowedIssuerName <> certificate.IssuerName.Name Then
            Throw New SecurityTokenValidationException("Certificate was not issued by a trusted issuer")
        End If

    End Sub
End Class

注釈

X509CertificateValidator クラスを使用して、X.509 証明書の検証方法を指定します。 これを行うには、X509CertificateValidator の派生クラスを作成し、Validate メソッドをオーバーライドします。

コンストラクター

X509CertificateValidator()

X509CertificateValidator クラスの新しいインスタンスを初期化します。

プロパティ

ChainTrust

信頼チェーンを使用して X.509 証明書を検証するバリデーターを取得します。

None

X.509 証明書の検証を実行しないバリデーターを取得します。 その結果、X.509 証明書は常に有効と見なされます。

PeerOrChainTrust

証明書が TrustedPeople 証明書ストア内に存在するか、または証明書信頼チェーンの構築で存在することを確認するバリデーターを取得します。 検証方法のいずれかを渡すと、証明書が信頼されます。

PeerTrust

証明書が TrustedPeople 証明書ストア内に存在することを確認するバリデーターを取得します。

メソッド

CreateChainTrustValidator(Boolean, X509ChainPolicy)

信頼チェーンの構築や検証に使用するコンテキストおよびチェーン ポリシーを指定することで X.509 証明書を確認するバリデーターを取得します。

CreatePeerOrChainTrustValidator(Boolean, X509ChainPolicy)

証明書信頼チェーンの構築に使用するコンテキストおよびチェーン ポリシーを指定することで 証明書が TrustedPeople 証明書ストアに存在することを確認するバリデーターを取得します。 検証方法のいずれかを渡すと、証明書が信頼されます。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LoadCustomConfiguration(XmlNodeList)

派生クラスでオーバーライドされると、XML からカスタム構成を読み込みます。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Validate(X509Certificate2)

派生クラスによってオーバーライドされた場合、X.509 証明書を検証します。

適用対象