Condividi tramite


X509CertificateValidator Classe

Definizione

Convalida un certificato 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
Ereditarietà
X509CertificateValidator
Derivato
Implementazioni

Esempio

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

Commenti

Utilizzare la classe X509CertificateValidator per specificare la modalità di convalida di un certificato X.509. Questa operazione può essere eseguita derivando una classe dalla classe X509CertificateValidator ed eseguendo l'override del metodo Validate.

Costruttori

X509CertificateValidator()

Inizializza una nuova istanza della classe X509CertificateValidator.

Proprietà

ChainTrust

Ottiene un validator che convalida il certificato X.509 utilizzando una catena di certificati.

None

Ottiene un validator che non esegue alcuna convalida su un certificato X.509. Un certificato X.509 viene pertanto considerato sempre valido.

PeerOrChainTrust

Ottiene un validator che verifica che il certificato sia nell'archivio certificati TrustedPeople compilando una catena di certificati. Il certificato è considerato affidabile se passa uno dei metodi di verifica.

PeerTrust

Ottiene un validator che verifica che il certificato sia nell'archivio certificati TrustedPeople.

Metodi

CreateChainTrustValidator(Boolean, X509ChainPolicy)

Ottiene un validator che verifica il certificato X.509 specificando il contesto e i criteri catena utilizzati per compilare e verificare una catena di certificati.

CreatePeerOrChainTrustValidator(Boolean, X509ChainPolicy)

Ottiene un validator che verifica che il certificato sia nell'archivio certificati TrustedPeople oppure specifica il contesto e i criteri catena utilizzati per compilare una catena di certificati. Il certificato è considerato affidabile se passa uno dei metodi di verifica.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadCustomConfiguration(XmlNodeList)

Quando sottoposto a override in una classe derivata, carica la configurazione personalizzata dall'XML.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
Validate(X509Certificate2)

Quando sottoposto a override in una classe derivata, convalida il certificato X.509.

Si applica a