Назад | Перейти на главную страницу

Генерация сертификата: root CA нужен каждый раз?

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

Я следил за этой хорошей статьей: http://www.eclectica.ca/howto/ssl-cert-howto.php

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

Я действительно обязан создавать уникальный корневой ЦС + каждый раз подписывать сертифицированный сертификат?

Нет более легкого пути? (например, избегать повторного создания корневого CA каждый раз?)

Вам, вероятно, следует немного почитать о том, как обычно развертывается PKI для некоторой предыстории.

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

Вы не хотите распространения корней CA. Обычно вы создаете один корень и используете его для подписи сертификатов для устройств.

Общий рабочий процесс после развертывания корневого центра сертификации:

  • Создайте пару открытого / закрытого ключей на хосте, которому нужен сертификат
  • Создайте запрос на подпись сертификата (CSR) на хосте, которому нужен сертификат
  • Отправьте CSR в корень CA для подписания
  • Возьмите сертификат, который возвращает корень CA, и установите его на устройство или хост.

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

Вы можете создавать пары открытого / закрытого ключей и CSR на устройстве / хосте, но, возможно, наиболее безопасный способ сделать это - на самом устройстве / хосте, поскольку закрытый ключ никогда не покидает устройство.

Например, из клиента OpenSSL вот как я бы подготовил запрос на подпись сертификата (CSR) для 4096-битного ключа RSA:

  • openssl req -out Signing_Request.csr -new -newkey rsa:4096 -nodes -keyout private.key

На веб-сервере IIS я бы использовал встроенный графический интерфейс «Мастер» для подготовки нового CSR. Другое программное обеспечение будет иметь другие методы подготовки CSR.

Как только у меня будет CSR, я отправлю его в центр сертификации и, поскольку документ, на который вы ссылаетесь, описан в Подписание сертификата В разделе CA я бы попросил CA подписать запрос и установить полученный сертификат на запрашивающее устройство / хост.

В качестве дополнения: вы обычно будете распространять свой сертификат CA по всему предприятию, чтобы клиенты могли проверять подписи, которые ваш CA ставит на сертификаты, и предотвращать предупреждения о сертификатах, исходящих от ненадежного CA.