GlobalScheduler: генерация ключей шифрования

GlobalScheduler: генерация ключей шифрования#

GlobalScheduler может работать без указания ключей, однако такой режим нежелателен. Основными недостатками работы без ключей являются:

  • без добавления ключей не работает выполнение заданий от каких-либо пользователей, кроме указанного в настройке btk;

  • не работает отслеживание ошибочных задач, так как данные по задачам планировщик получает с помощью ключей.

Важно

Основным режимом работы является работа с ключами. Пароль используется на тестовых контурах для отладки работы GlobalScheduler. На проектах, в prod режиме не желательно указывать пароль в настройках btk.

Генерация ключей в системе Global#

Генерацию ключей можно выполнить с помощью системы Global.

Для этого в приложении Настройки системы откройте меню Настройки и сервисы -> Менеджер заданий

Менеджер заданий

В открывшемся окне выполните операцию «Сгенерировать открытый и закрытый ключ»

Генерация ключей

В результате выполнения операции на компьютер пользователя будут скачаны два файла: quartz.publickey.txt (открытый ключ) и quartz.privatekey.txt (закрытый ключ).

Генерация ключей сторонними утилитами#

Допускается генерация ключей сторонними утилитами.

Внимание

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

Пример создания ключей с помощью криптографической библиотеки OpenSSL:

# Генерация приватного ключа в стандартном формате
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048; \
# Генерация публичного ключа в стандартном формате
openssl rsa -in private.pem -outform PEM -pubout -out public.pem; \
# Форматирование ключей для работы с Global
sed '/-----.*-----/d' ./private.pem |  tr -d '\n' > quartz.private.pem; \
sed '/-----.*-----/d' ./public.pem | tr -d '\n' > quartz.public.pem;

Убедиться, что сгенерированный вами ключ был создан в подходящем для Globalscheduler формате можно при помощи следующей команды:

base64 -d ./quartz.private.pem | openssl asn1parse -inform DER | grep -q rsaEncryption && echo "Ключ верного формата" || echo "Ключ неподходящего формата"