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

Usare la classe per specificare come X509CertificateValidator viene considerato valido un certificato X.509. Questa operazione può essere eseguita derivando una classe da X509CertificateValidator ed eseguendo l'override del Validate metodo .

Costruttori

Nome Descrizione
X509CertificateValidator()

Inizializza una nuova istanza della classe X509CertificateValidator.

Proprietà

Nome Descrizione
ChainTrust

Ottiene un validator che convalida il certificato X.509 usando una catena di attendibilità.

None

Ottiene un validator che non esegue alcuna convalida su un certificato X.509. Di conseguenza, un certificato X.509 viene sempre considerato valido.

PeerOrChainTrust

Ottiene un validator che verifica che il certificato si trova nell'archivio TrustedPeople certificati o compilando una catena di attendibilità del certificato. Il certificato è attendibile se passa uno dei metodi di verifica.

PeerTrust

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

Metodi

Nome Descrizione
CreateChainTrustValidator(Boolean, X509ChainPolicy)

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

CreatePeerOrChainTrustValidator(Boolean, X509ChainPolicy)

Ottiene un validator che verifica che il certificato si trova nell'archivio TrustedPeople certificati o specificando il contesto e i criteri di catena usati per compilare una catena di attendibilità del certificato. Il certificato è attendibile 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 il Type dell'istanza corrente.

(Ereditato da Object)
LoadCustomConfiguration(XmlNodeList)

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

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(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