2009-10-29 8 views
1

У меня есть небольшая проблема. Я использовал центр сертификации в Windows Server 2003 и отозвал сертификат клиента. Клиентский сертификат находится в отмене сертификата. Я пытаюсь проверить этот клиентский сертификат об отзыве в Winform приложение в Windows Server 2003. кодекс здесь:аннулированный сертификат клиента

private bool VefiryCert(X509Certificate2 cert) 
{ 
    X509Chain chain = new X509Chain(); 
    chain.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain; 
    chain.ChainPolicy.RevocationMode = 
     X509RevocationMode.Online; 
    chain.ChainPolicy.UrlRetrievalTimeout = new TimeSpan(0, 0, 1000); 
    chain.ChainPolicy.VerificationFlags = X509VerificationFlags.AllFlags; X509VerificationFlags.AllowUnknownCertificateAuthority; 
    return chain.Build(cert); 
} 

But this client certificate is verify as true. Я смущаюсь, где могут быть проблемы? Как я могу проверить список аннулирования, который загружается в приложение winform и используется для проверки этого сертификата клиента?

Таким образом, проблема заключается в том, что я проверяю сертификат клиента, который находится в отозванном списке (в центре сертификации) с помощью метода VefiryCert, сертификат проверяется как ИСТИНА.

Может кто-нибудь мне помочь?

ответ

0

У меня была аналогичная проблема на сервере. Я обнаружил, что вызов

ServicePointManager.CheckCertificateRevocationList = true; 

позволило мне увидеть исключение

failed: System.ServiceModel.Security.SecurityNegotiationException : Could not establish trust relationship for the SSL/TLS secure channel with authority 'XXX.XXX.net'. 
----> System.Net.WebException : The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. 
----> System.Security.Authentication.AuthenticationException : The remote certificate is invalid according to the validation procedure. 

 Смежные вопросы

  • Нет связанных вопросов^_^