Серверная часть
Создание сертификата
Чтобы создать серверный сертификат, выполните следующие шаги:
-
Создайте приватный ключ для серверного корневого сертификата командой:
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
Вывод команды должен содержать: ОК.