Перейти к основному содержимому
Версия: Indeed Access Manager 9.7

Настройка собственного клиентского сертификата

Важно

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

Чтобы использовать собственный сертификат, выпишите сертификат для аутентификации на Core Server.

Чтобы сгенерировать собственный клиентский сертификат вручную:

  1. Перейдите в каталог am/tools и запустите скрипт tool_gen_client_cert.sh.

    sudo bash ./tool_gen_client_cert.sh -f mycert

    Важно: После отработки скрипта в терминале отображается пароль от сертификата <certName>.pfx, который необходимо сохранить.

    Результат:

    • am/tools/certName.pfx — сертификат с приватным ключом для аутентификации на Core Server.

    • am/ssl/ca/certName.cer — открытый ключ для доверия certName.pfx.

    • Значение отпечатка сертификата автоматически подставляется в конфигурационный файл Core Server am/core/app-settings.json в разделе Authentication:Certificate:Thumbprints.

    Пример раздела Certificate
       “Certificate”: {
    “ForwardingHeader”: “X-IndeedAM-ClientCert”,
    “Thumbprint”: “01de449b6f4b49e00d1a5b20ffb5d6605cf6cd2a”,
    “Thumbprints”: [
    "31650135EFE9CFEB83500A3DFE9FB747DC77480E",
    "E2163AF0B2D72C8C5CEC2A6E289DFD0C8B7940B3",
    "8FEEC416480E0F69A1E67BCBAE3DBBE7D1F449F2"
    ]
    }

    Где:

    • Thumbprint — отпечаток встроенного клиентского сертификата
    • Thumbprints — отпечатки собственных клиентских сертификатов, которым будет доверять Core Server
    Примечание

    При использовании балансировщика нагрузки:

    • Добавьте сертификаты certName.pfx и certName.cer на все сервера в соответствующие директории.
    • Добавьте значения отпечатка сертификата в соответствующие файлы на всех серверах.
  1. Создайте каталог am/ssl/client и скопируйте certName.pfx в этот каталог.

  2. Из каталога am/ssl запустите скрипт prepareCaFile.sh для повторной генерации trusted_ca.crt.

    sudo bash ./prepareCaFile.sh

    Результат: создается сертификат am/ssl/ca/trusted_ca.crt, который содержит список всех добавленных в am/ssl/ca сертификатов открытого ключа.

    Примечание

    При изменении состава каталога am/ssl/ca необходимо перезапустить скрипт prepareCaFile.sh.

  3. Сделайте владельцем пользователя Access Manager в Docker-контейнере для обновленного сертификата am/ssl/ca/trusted_ca.crt.

    sudo chown <AM_UID>:<AM_GID> ./ssl/ca/trusted_ca.crt
  4. Перезапустите контейнер с приложением:

    sudo docker compose down -v
    sudo docker compose up -d