Получить демо-доступ
Получить демо-доступ
Разделы
Свернуть

Настройка HTTPS и подключения сертификата

Команда cert — Настройка HTTPS (сервис)

Эта команда создаёт или обновляет файл Java KeyStore (JKS), который необходим для работы веб-интерфейса приложения по протоколу HTTPS. В процессе используются предоставленные файлы: сертификат сервера, приватный ключ и цепочка сертификатов. Также команда читает и обновляет указанный JSON-файл конфигурации.

Пример вызова команды:

bash ./install.sh cert [ОПЦИИ] <server_cert> <private_key> <chain_cert>

Примеры использования:

Пример 1:

bash ./install.sh cert "certificate.crt" "certificate.key" "certificate_ca.crt"

Пример 2:

bash ./install.sh cert \

-o "${PWD}" -c "${PWD}/configuration.json" --password PASSWORD \

"domain.crt" "29442.key" "GlobalSign GCC R6 AlphaSSL CA 2023.crt"

Аргументы:

  1. <server_cert>

    • Назначение: путь к файлу сертификата сервера.

    • Формат: обычно .crt или .pem.

    • Пример: domain.crt
  2. <private_key>

    • Назначение: путь к файлу приватного ключа сервера.

    • Формат: обычно .key.

    • Пример: server.key
  3. <chain_cert>

    • Назначение: путь к файлу цепочки сертификатов (CA-сертификаты).

    • Используется для построения полной цепочки доверия.

    • Пример: GlobalSign_CA.crt

Опции:

  • -o, --output <путь>

    Назначение: путь для сохранения JKS-файла.

    Если не указан, используется путь по умолчанию.

  • -c, --configuration <путь>

    Назначение: путь к JSON-файлу конфигурации, который будет обновлён.

    После выполнения команды в этот файл запишутся путь к JKS и пароль.

  • --password <пароль>

    Назначение: пароль для защиты хранилища JKS.

Результат выполнения команды

После успешного выполнения команды в JSON-файл конфигурации добавляются или обновляются параметры HTTPS. Пример обновлённого фрагмента конфигурации:

{

  "web": {

    "port": 80,

    "https": {

      "path": "/path/cert.jks",

      "password": "password"

    }

  }

}

Пояснение к параметрам:

  • "web.port": порт, на котором работает веб-сервер (в данном случае 80 — HTTP, но HTTPS обычно на 443).

  • "web.https.path": путь к JKS-файлу, созданному командой.

  • "web.https.password": пароль для доступа к хранилищу.

Важно:

  • Убедитесь, что у приложения есть права на чтение JKS-файла.

  • Храните приватный ключ и JKS в безопасности - они содержат чувствительные данные.

Рекомендации:

  • Используйте надёжный пароль для JKS.

  • Убедитесь, что цепочка сертификатов полная (включает промежуточные CA).

  • Проверьте корректность сертификатов с помощью команды:

    openssl x509 -in certificate.crt -text -noout