Поделиться через


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.

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