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

Observações

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

Construtores

Name Description
X509CertificateValidator()

Inicializa uma nova instância da X509CertificateValidator classe.

Propriedades

Name Description
ChainTrust

Recebe um validador que valida o certificado X.509 usando uma cadeia de confiança.

None

Recebe um validador que não realiza qualquer validação num certificado X.509. Como resultado, um certificado X.509 é sempre considerado válido.

PeerOrChainTrust

Recebe um validador que verifica se o certificado está no TrustedPeople armazenamento de certificados ou construindo uma cadeia de confiança de certificados. O certificado é confiável se passar em qualquer um dos métodos de verificação.

PeerTrust

Recebe um validador que verifica se o certificado está na TrustedPeople loja de certificados.

Métodos

Name Description
CreateChainTrustValidator(Boolean, X509ChainPolicy)

Obtém um validador que verifica o certificado X.509 especificando o contexto e a política de cadeia que são usados para construir e verificar uma cadeia de confiança.

CreatePeerOrChainTrustValidator(Boolean, X509ChainPolicy)

Obtém um validador que verifica se o certificado está na TrustedPeople loja de certificados ou especificando o contexto e a política de cadeia usados para construir uma cadeia de confiança de certificados. O certificado é confiável se passar em qualquer um dos métodos de verificação.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadCustomConfiguration(XmlNodeList)

Quando sobreposto numa classe derivada, carrega uma configuração personalizada a partir do XML.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
Validate(X509Certificate2)

Quando sobrescrito numa classe derivada, valida o certificado X.509.

Aplica-se a