X509CertificateValidator Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
PeerTrust |
Obtém um validador que verifica se o certificado está no repositório de certificados |
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 |
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. |