Как создать корневой сертификат X509 и распространить подчиненные сертификаты - PullRequest
0 голосов
/ 12 октября 2011

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

Вот требования:

1) Будет один главный сервер. Сертификат SSL для этого не будет подписан никаким органом: он является корневым. Этот сертификат (или, по крайней мере, средство для его проверки) будет распространяться вместе с приложением.

2) Может быть любое количество вторичных серверов. Каждый из них создаст собственный сертификат и отправит его на главный сервер.

3) Главный сервер подпишет вторичные сертификаты с корнем.

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

N.B. Главный сервер идентифицируется по имени хоста DNS. Вторичные серверы могут быть названы или могут быть идентифицированы только по IP-адресу.


Четыре вопроса:

Может кто-нибудь показать мне команды openssl для выполнения каждого из этих трех шагов?

Какие, если таковые имеются, файлы, сгенерированные этими шагами, должны не распространяться?

После шага 3 мастер должен вернуть модифицированный сертификат вторичному?

Должны ли вторичные сертификаты распространяться доверенным мастером или достаточно, чтобы клиент подтвердил любой сертификат, объявленный вторичным?

1 Ответ

2 голосов
/ 06 января 2012

OpenSSL поставляется со сценарием, полезным для создания базового CA: CA.pl .(Конечно, вы можете настроить его более подробно, изменив файл конфигурации OpenSSL.)

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

Относительно распространения файлов: все стороны должны хранить свои закрытые ключи в секрете.

...