2008-10-15 13 views

Respuesta

9

creo que estás buscando ServicePointManager.ServerCertificateValidationCallback:

http://msdn.microsoft.com/en-gb/library/system.net.servicepointmanager.servercertificatevalidationcallback.aspx

que tiene un RemoteCertificateValidationCallback Delegado:

http://msdn.microsoft.com/en-gb/library/system.net.security.remotecertificatevalidationcallback.aspx

Nunca he tratado con un certificado revocado antes (no tengo mano para manejar otras cuestiones como caducada SSL), pero supongo que usted acaba de hacer algo como:

class Program 
{ 
    static void Main(string[] args) 
    { 
     ServicePointManager.ServerCertificateValidationCallback += 
      new RemoteCertificateValidationCallback(ValidateCertificate); 

     // Do WCF calls... 
    } 

    public static bool ValidateCertificate(object sender, X509Certificate cert, 
           X509Chain chain, SslPolicyErrors sslPolicyErrors) 
    { 
     if(sslPolicyErrors == SslPolicyErrors.RemoteCertificateChainErrors) 
     { 
      foreach(X509ChainStatus chainStatus in chain.ChainStatus) 
      { 
       if(chainStatus.Status == X509ChainStatusFlags.Revoked) 
       { 
        return true; 
       } 
      } 
     } 

     return false; 
    } 
} 
1

Puede configurar la validación de certificados y las opciones de revocación en el archivo de configuración para su aplicación:

http://www.request-response.com/blog/PermaLink,guid,e9bb929b-d0b4-4626-b302-1d2715fc344a.aspx

+3

Esto sólo es cierto para la autenticación de certificados de cliente en el servidor. Para la autenticación del certificado del servidor en el cliente, debe usar el método anterior. –

+0

No publique respuestas que sean solo enlaces. Hay dos razones principales para esto: generalmente es mucho más útil responder directamente a los problemas específicos de los usuarios, e incluso los enlaces a buenos recursos a veces salen mal. Consulte [esta meta publicación] (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers) para obtener más detalles. – Pops

Cuestiones relacionadas