X509CertificateValidator Class 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Validates an X.509 certificate.
public ref class X509CertificateValidator abstractpublic ref class X509CertificateValidator abstract : System::IdentityModel::Configuration::ICustomIdentityConfigurationpublic abstract class X509CertificateValidatorpublic abstract class X509CertificateValidator : System.IdentityModel.Configuration.ICustomIdentityConfigurationtype X509CertificateValidator = classtype X509CertificateValidator = class
    interface ICustomIdentityConfigurationPublic MustInherit Class X509CertificateValidatorPublic MustInherit Class X509CertificateValidator
Implements ICustomIdentityConfiguration- Inheritance
- 
				X509CertificateValidator
- Derived
- Implements
Examples
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
Remarks
Use the X509CertificateValidator class to specify how an X.509 certificate is deemed valid. This can be done using by deriving a class from X509CertificateValidator and overriding the Validate method.
Constructors
| X509CertificateValidator() | Initializes a new instance of the X509CertificateValidator class. | 
Properties
| ChainTrust | Gets a validator that validates the X.509 certificate using a trust chain. | 
| None | Gets a validator that performs no validation on an X.509 certificate. As a result, an X.509 certificate is always considered to be valid. | 
| PeerOrChainTrust | Gets a validator that verifies the certificate is in the  | 
| PeerTrust | Gets a validator that verifies the certificate is in the  | 
Methods
| CreateChainTrustValidator(Boolean, X509ChainPolicy) | Gets a validator that verifies the X.509 certificate by specifying the context and chain policy that is used to build and verify a trust chain. | 
| CreatePeerOrChainTrustValidator(Boolean, X509ChainPolicy) | Gets a validator that verifies the certificate is in the  | 
| Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object) | 
| GetHashCode() | Serves as the default hash function.(Inherited from Object) | 
| GetType() | Gets the Type of the current instance.(Inherited from Object) | 
| LoadCustomConfiguration(XmlNodeList) | When overridden in a derived class, loads custom configuration from XML. | 
| MemberwiseClone() | Creates a shallow copy of the current Object.(Inherited from Object) | 
| ToString() | Returns a string that represents the current object.(Inherited from Object) | 
| Validate(X509Certificate2) | When overridden in a derived class, validates the X.509 certificate. |