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


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.

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