.net пример использования клиентских сертификатов в вызове веб-службы? - PullRequest
7 голосов
/ 09 июня 2010

Я хотел бы использовать клиентские сертификаты для проверки личности административных абонентов моего веб-сервиса.Тогда я могу выдавать сертификаты только тем людям, которым я хочу позвонить в мой веб-сервис, и быть уверенным, что никто другой не сможет это сделать.Это в очень контролируемом сценарии, когда только один или два человека получат сертификат клиента, поэтому распространение не является сложной проблемой.

Эта статья предоставляет хороший пример того, как позвонитьвеб-сервис, использующий сертификат клиента.

Но как я могу проверить детали сертификата клиента из моего веб-сервиса? В этой старой статье говорится о настройке IIS для этого, но я бы хотел сделать это программно в моем приложении.Думаю?

спасибо за любые предложения!

1 Ответ

5 голосов
/ 09 июня 2010

Входящий запрос имеет коллекцию ClientCertificates, которую вы можете запросить - вы можете проверить различные поля в сертификате или проверить фактические необработанные байтовые данные (возможно, в хранилище данных или другом источнике), если вы хотите полностью проверить его.

Обратите внимание: если вы выпускаете сертификаты из своего собственного ЦС, вам нужно будет установить сертификат ЦС на вашем веб-сервере в хранилище, видимое для всех пользователей, в противном случае IIS не будет запрашивать эти сертификаты у пользователя (из-за к характеру взаимодействия сервера и клиента.)

...