Как создать службу сертификатов. Пошаговая инструкция

Описывается как создать службу сертификатов, которую можно использовать, например, для тестирования серверов, сервисов или аутентификации сотрудников компании. Прочитав эти статьи, Вы через 10 минут будете иметь работающую службу сертификатов. а так же необходимые Вам цифровые ключи и сертификаты. 

Рассматривается создание и использование простейшей одноуровневой службы сертификатов.

В статье «Как создать службу сертификатов. Подготовка» описаны все необходимые шаги для того, чтобы приступить к созданию службы сертификатов. Необходимую информацию о Linux вы можете прочитать в статьях «Несколько слов о Linux» и «Команды Linux. Краткое описание».

Становимся суперпользователем и переходим в корневую папку службы сертификатов.

su
cd /etc/pki/tls

Создание службы сертификатов.

1. Создание секретного ключа службы сертификатов (Рис. 1.).

openssl genrsa -des3 -out private/ca.key 2048

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

chmod 0400 private/ca.key

Делаем его доступным только для чтения и только для суперпользователя.

Как создать службу сертификатов. Рис. 1. Создание секретного ключа CA

Рис. 1. Создание секретного ключа CA

2. Создание самоподписанного сертификата службы сертификатов (Рис. 2)

openssl req -new -x509 -days 3650 -key private/ca.key -out certs/ca.crt -config openssl.cnf

Создаем новый самоподписанный сертификат certs/ca.crt, действительный 10 лет, с помощью секретного ключа службы сертификатов privat/ca.key.

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

Как создать службу сертификатов. Рис. 2. Создание самоподписанного сертификата

Рис. 2. Создание самоподписанного сертификата

Чтобы посмотреть, что получилось:
openssl x509 -noout -text -in certs/ca.crt

Для того, чтобы Вашей службы сертификатов кто-нибудь доверял, надо партнерам раздавать файл сертификата ca.crt.

3. Создание секретного ключа и запроса на сертификат (Рис. 3).

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

Для пользователя в поле Common Name задается имя пользователя латинскими буквами (НЕ ЛОГИН! Например: Vasiliy Ivanov) и пароль, чтобы никто кроме владельца, знающего пароль не смог воспользоваться ключем. Для сервера в поле Common Name задается полное доменное имя сервера (виртуального сервера). Пароль не задается, чтобы администратору не вводить его каждый раз при запуске сервера или сервиса.

Для сервера:

openssl req -newkey rsa:2048 -keyout private/test2.example.com.key -nodes -out test2.example.com.csr

генерирует секретный 2048 битный ключ test2.example.com.key в папке private и запрос на сертификат test2.example.com.csr в текущей папке. Команда попросит ответить на вопросы (Рис. 3.).

Рис. 3. Запрос на сертификат для сервера

Рис. 3. Запрос на сертификат для сервера

Для пользователя:

openssl req -newkey rsa:1024 -keyout private/VasjaIvanov.key -out VasjaIvanov.csr

генерирует секретный 2048 битный ключ VasjaIvanov.key в папке private и запрос на сертификат VasjaIvanov.csr в текущей папке. Команда попросит дважды ввести приготовленный пароль и ответить на вопросы о владельце ключа (См. Рис. 4).

Как создать службу сертификатов. Рис. 4. Запрос на сертификат для пользователя

Рис. 4. Запрос на сертификат для пользователя

4. Подписываем запросы секретным ключем (Рис. 5.).

openssl ca -config openssl.cnf -out certs/test2.example.com.crt -infiles test2.example.com.csr

Надо ввести по запросу пароль секретного ключа службы сертификатов, проверить данные сертификата, если все правильно дважды согласиться (нажать «y»). В результате в папке certs появится сертификат сервера test2.example.com.crt. Подписание запроса для сертификата пользователя ничем не отличается.

Как создать службу сертификатов. Рис. 5. Подписание запроса

Рис. 5. Подписание запроса

5. Запросы на сертификат больше не нужны, удаляем.

rm *.csr

6. Переписываем полученные секретный ключ и подписанный сертификат пользователя (сервера), а так же, обязательно, самоподписанный сертификат службы сертификатов certs/ca.crt на флешку для дальнейшего их использования. Секретный ключ службы сертификатов никогда никуда не даем и не забываем его пароль.

Описано как создать службу сертификатов и в течении 10 минут получить необходимые ключи и сертификаты.

, ,

No comments yet.

Leave a Reply

Please verify that you are not a robot.

Thank You for your comment.

s2Member®