Compartilhar via


X509CertificateValidator Classe

Definição

Valida um certificado 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
Herança
X509CertificateValidator
Derivado
Implementações

Exemplos

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

Comentários

Use a X509CertificateValidator classe para especificar como um certificado X.509 é considerado válido. Isso pode ser feito usando derivando uma classe de X509CertificateValidator e substituindo o Validate método .

Construtores

X509CertificateValidator()

Inicializa uma nova instância da classe X509CertificateValidator.

Propriedades

ChainTrust

Obtém um validador que valida o certificado X.509 usando uma cadeia confiável.

None

Obtém um validador que não executa nenhuma validação em um certificado X.509. Como resultado, um certificado X.509 sempre é considerado válido.

PeerOrChainTrust

Obtém um validador que verifica se o certificado está no repositório de certificados TrustedPeople ou criando uma cadeia de certificados confiáveis. O certificado será considerado confiável se for aprovado em um dos métodos de verificação.

PeerTrust

Obtém um validador que verifica se o certificado está no repositório de certificados TrustedPeople.

Métodos

CreateChainTrustValidator(Boolean, X509ChainPolicy)

Obtém uma validação que verifica o certificado X.509 especificando o contexto e a política de cadeia usada para criar e verificar uma cadeia confiável.

CreatePeerOrChainTrustValidator(Boolean, X509ChainPolicy)

Obtém um validador que verifica se o certificado está no repositório de certificados TrustedPeople ou especificando o contexto e a política de cadeia é usada para criar uma cadeia de certificados confiáveis. O certificado será considerado confiável se for aprovado em um dos métodos de verificação.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadCustomConfiguration(XmlNodeList)

Quando substituído em uma classe derivada, carrega a configuração personalizada do XML.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
Validate(X509Certificate2)

Quando substituído em uma classe derivada, valida o certificado X.509.

Aplica-se a