Я искал как создавать сертификаты X509 и немного запутался. Я понимаю теорию, и создание одного сертификата — это нормально, но у меня нет операционных ноу-хау для создания системы в целом.
Вот требования:
1) Будет один главный сервер. SSL-сертификат для этого не будет подписан никаким органом: это корень. Этот сертификат (или, по крайней мере, средства его проверки) будет распространяться вместе с приложением.
2) Может быть любое количество вторичных серверов. Каждый будет генерировать свой собственный сертификат и отправлять его на главный сервер.
3) Главный сервер будет подписывать вторичные сертификаты корнем.
Вариант использования заключается в том, что клиент подключается к вторичному серверу и должен иметь возможность проверить, что его сертификат был подписан корнем.
Н.Б. Главный сервер идентифицируется по DNS-имени хоста. Вторичные серверы могут быть названы или могут быть идентифицированы только по IP-адресу.
Четыре вопроса:
Может кто-нибудь показать мне команды openssl для выполнения каждого из этих трех шагов?
Какие из файлов, созданных на этих этапах, если таковые имеются, нельзя распространять?
После шага 3 должен ли главный сервер возвращать измененный сертификат вторичному?
Должны ли вторичные сертификаты распространяться доверенным мастером, или клиенту достаточно проверить любой сертификат, объявленный вторичным?