Как вести список аннулирования для клиентских сертификатов

У меня есть веб-сайт, работающий в Windows Server 2012, IIS. Пользователь аутентифицируется с помощью клиентских сертификатов.

Я раньше выпускал клиентские сертификаты с помощью Центра сертификации снимок MMC - в.

Так как число пользователей растет быстро, я теперь создаю клиентские сертификаты в пакете, пользуясь библиотекой BouncyCastle и небольшим кодом C#. Я полагаю, что, возможно, также сделал это использование Makecert или Openssl.

В этих сертификатах я устанавливаю записи списка аннулирования в те же значения что снимок Центра сертификации - в использовании.

IIS принимает эти сертификаты очень хорошо.

Мой вопрос касается аннулирования сертификата. Клиентские сертификаты, которые были выпущены на сервере, могут легко быть отменены, с помощью снимка MMC - в, но предположить, что я должен отменить любой из этих новых сертификатов. Хотя IIS принимает эти сертификаты, он не имеет никакой записи их, так по-видимому, я не могу отменить их использующий снимок Центра сертификации - в. Кроме того, кажется, нет никакого способа импортировать эти сертификаты, заставляя их обнаружиться в снимке Центра сертификации - в.

Таким образом, что лучший способ состоит в том, чтобы пойти об этом? Я должен установить список аннулирования (CRL) где-то в другом месте для этих сертификатов?

1
задан 2 February 2015 в 23:13
1 ответ

Вы делаете это неправильно. Если вы используете ЦС Windows для выдачи сертификатов, то только ЦС Windows должен подписывать сертификаты с помощью этого конкретного сертификата ЦС и пары ключей. Вы ставите под угрозу свою PKI, используя openssl и сторонние библиотеки для подписи клиентских сертификатов с помощью сертификата CA Windows. Поскольку вы нарушаете RFC5280 §4.1.2.2 требование: CA должен вести учет выданных сертификатов и применять некоторые ограничения. Например, уникальность серийного номера.

Также это может привести к несостоятельности политики и, конечно же, невозможности предоставить средства отзыва для сертификатов, подписанных openssl.

Неважно, какой инструмент вы используете для создания и подписи запросов, но только одно приложение должно использовать конкретный сертификат CA для подписи других сертификатов, хранения их в базе данных и подписания CRL. Могут быть обходные пути, но ни один из них не будет поддерживаться.

Если ваши пользователи находятся в Active Directory, вам следует использовать функцию аутентификации сертификатов для автоматизации задач по выдаче сертификатов.

0
ответ дан 4 December 2019 в 08:07

Теги

Похожие вопросы