Re: Получение списка выданных сертификатов с помощью .NET
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 19.02.11 18:16
Оценка:
Здравствуйте, certWantKnow, Вы писали:

WK>Здравствуйте, уважаемые!)


WK>Столкнулся на днях с проблемой, которую пока не смог решить.

WK>Проблема состоит в следующем — необходимо средствами .NET 4.0 получить список всех выданных пользователям сертификатов X509. Знаю, как извлечь все свои сертификаты (с помощью класса X509Store) со своей машины, а вот список всех, выданных сервером — нет.
WK>Сервер — Windows Server 2003, Certificate Services установлены Stand-alone. Кто-нибудь, кто сталкивался, поможете решить?

WK>Заранее спасибо!)



Не совсем понятно, что значит все сертификаты выданные серверов. Если речь про сертификаты в локальном хранилище, которые выданы определённым центром сертификации, то нет ничего проще. Любой X509 сертификат содержит сведения о выдавшем его центре сертификации — он подписан корневым сертификатом этого CA. Так что вам всего лишь необходимо выбрать сертификаты, которые подписаны сертификатом интересующего вас центра сертификации.

Если же вас интересуют вообще все сертификаты выданные CA, то средствами .NET эту задачу естественно не решить. Эту информацию нужно запрашивать в самом CA. MS CA имеет свой COM-based API, которые называется Certificate Enrollment API. Попробуйте там покопаться. За давностью лет на 100 процентов утверждать не берусь, но вроде что-то связанное с запросом уже выданных сертификатов (естественно лишь публичных их версий) там было. Приватную версию вам ни один CA не выдаст.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.