Проверка сертификата в WCF - PullRequest
2 голосов
/ 27 февраля 2012

Я должен проверить определенный сертификат.К сожалению, я понятия не имею, как мне это сделать.Сертификат, который я хочу подтвердить, подписан моим собственным ок.Мне нужно проверить всю цепочку сертификатов.Проверка должна быть выполнена в C #.

С уважением, Майкл

1 Ответ

3 голосов
/ 27 февраля 2012

Если вы хотите сделать все, включая проверку цепочки в коде, тогда вам нужно реализовать «пользовательскую проверку» и интегрировать ее в хост WCF :

Client.ServiceCertificate.Authentication.CertificateValidationMode =
              X509CertificateValidationMode.Custom;
Client.ServiceCertificate.Authentication.CustomCertificateValidator =
    new MyCertificateValidator();

Для самостоятельной проверки цепочки вы должны взглянуть на X509Chain и X509Store - чтобы получить представление о том, как можно реализовать такую ​​проверку цепочки, взгляните на Mono's реализация Verify ... в основном вы используете метод Find для поиска X509Certificate2Collection для родителя и т. д. ... критерии проверки с пользовательской проверкой остаются за вами ( действительная подпись, срок действия которой не истек ...).

некоторые справочные ссылки на MSDN:

...