Серверная часть
Создание сертификата
Чтобы создать серверный сертификат, выполните следующие шаги:
-
Создайте приватный ключ для серверного корневого сертификата командой:
openssl genrsa -out serverRootCAKey.key 2048
Храните этот ключ в надежном месте! -
Создайте серверный корневой сертификат. В представленном примере сертификат действует 20000 дней:
openssl req -x509 -new -nodes -key serverRootCAKey.key -days 20000 -out /opt/rubackup/keys/rootCA/serverRootCACert.crt
-
В интерактивном меню введите двухбуквенный
код страны
,провинцию
,город
,организацию
,подразделение
,Common Name
иe-mail адрес
. -
Создайте приватный ключ сервера:
openssl genrsa -out /opt/rubackup/keys/server/serverKey.key 2048
-
Создайте запрос на подпись:
openssl req -new -key /opt/rubackup/keys/server/serverKey.key -out /opt/rubackup/keys/server/serverCert.csr
-
В интерактивном меню впишите ответ на те же вопросы, что и при создании корневого сертификата. Введенный
Common Name
должен отличаться отCommon Name
у корневого сертификата. -
Создайте серверный сертификат и подпишите его серверным корневым сертификатом. В представленном примере сертификат действует 20000 дней:
openssl x509 -req -in /opt/rubackup/keys/server/serverCert.csr -CA /opt/rubackup/keys/rootCA/serverRootCACert.crt -CAkey serverRootCAKey.key -CAcreateserial -out /opt/rubackup/keys/server/serverCert.crt -days 20000
-
При необходимости пересоздайте файл, используемый в алгоритме Диффи-Хеллмана, для обмена сессионными ключами с клиентом:
openssl dhparam -out /opt/rubackup/keys/server/dh_2048.pem 2048
Подготовка сертификатов для сервера
Чтобы подготовить сертификаты для сервера, выполните следующие шаги:
-
Разместите в отдельной папке промежуточные сертификаты и корневой сертификат.
-
Если некоторые из промежуточных или корневой сертификат имеют расширение
.cer
или.pem
, конвертируйте их в формат.crt
с помощью одной из следующих команд:openssl x509 -in '<имя сертификата>.pem' -out '<имя сертификата>.crt' -outform DER openssl x509 -inform PEM -in '<имя сертификата>.cer' -out '<имя сертификата>.crt'
-
Объедините промежуточные сертификаты и корневой сертификаты в единый корневой серверный сертификат:
cat <путь к промежуточному сертификату 1> <путь к промежуточному сертификату 2> <путь к корневому сертификату> /opt/rubackup/keys/rootCA/serverRootCACert.crt
Проверка созданных ключей и сертификатов
openssl verify -no-CApath -CAfile /opt/rubackup/keys/rootCA/serverRootCACert.crt /opt/rubackup/keys/server/serverCert.crt
Вывод команды должен содержать: ОК.