Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Скрипт запросит ввести и подтвердить "PEM pass phrase" - это пароль к сертификату. Он должен состоять минимум из 4 символов, необходимо его сохранить и хранить в секрете. В результате будет создан файл с ключом сертификата сертификата integrator_private_key.key.

Warning

Файл integrator_private_key.key и его содержимое никому не передавать и хранить в секрете!

...

Code Block
languagebash
openssl req -newkey rsa:2048 -nodes -keyout integrator_private.key -x509 -days 365 -out integrator_private.crt

Скрипт запросит данные для сертификата. Заполнение данных опционально, они не участвуют в проверке подлинности.

...

В результате будет создан файл с сертификатом интегратора integrator_private.crt

Warningtip

Файл integrator_private.crt и его содержимое никому не передавать и хранить в секрете! необходимо будет далее передать в службу поддержки HRlink

1.3. Создать публичный ключ сертификата

Code Block
languagebash
openssl x509 -pubkey -noout -in integrator_private.crt > integrator_pubkey.pem

...

Любым удобным вам способом. Например, в телеграм-бота или на почту help@hr-link.ru

В запросt запросе необходимо указать следующие данные:

  1. Тенант, для которого необходимо зарегистрировать интегратора
  2. Имя интегратора в английской транслитерации. Например, Company.
  3. Значение поля издателя (issuer) Bearer-токена. Может совпадать с именем интегратора. Это поле будет использоваться интегратором для генерации Bearer-токена.
  4. Сертификат Интегратора - сертификат публичного ключа Интегратора стандарта X.509 в текстовом формате PEM. Это файл integrator_pubkey.pemcrt, который был сгенерирован выше по тексту.
  5. Контактный email.

...

Bearer-токен - это JWT-токен, подписанный сертификатом приватным ключом интегратора - файлом integrator_private_key.key, который мы выпустили в п. 1.1. выше по тексту.

Note

Bearer-токен должен генерироваться программными средствами (автоматически), но далее, для наглядности, мы рассмотрим ручной выпуск.

  1. Для создания JWT-токена и его подписания воспользуемся сайтом https://jwt.io/
  2. Если использовались скрпты из данной инструкции, то поле HEADER:ALGORITHM & TOKEN TYPE должно содержать следующие поля:
    UI Text Box

    {
      "alg": "RS256",
      "typ": "JWT"
    }


    alg - алгоритм шифрования RS256
    typ - тип токена JWT
  3. Поле PAYLOAD:DATA должно содержать следующие поля:
    UI Text Box

    {
      "iss": "Company",
      "sub": "9eacedbf-48e3-4bf3-a00c-78b58b2721d7",
      "aud": "esa.hr-link.ru",
      "iat": 1735111111,
      "nbf": 1735111111,
      "exp": 1735679400
    }


    iss - Значение поля издателя (issuer) Bearer-токена, которое мы зарегистрировали через Службу заботы в п. 2.1.3. данной инструкции.
    sub - ID интегратора, который мы получили в ответе от Службы заботы в п. 2.2. данной инструкции.
    aud - всегда равно esa.hr-link.ru
    iat - момент выпуска токена в формате unixtimestamp.
    nbf - момент начала действия токена в формате unixtimestamp.
    exp - момент истечения срока действия токена в формате unixtimestamp. Не может быть больше 10 минут от момента начала действия (есть возможность изменить ограничение через Службу заботы)
    Tip

    Для удобной генерацииunixtimestamp можно воспользоваться сайтом https://www.unixtimestamp.com/

  4. В поля VERIFY SIGNATURE заполнить содержимое из файлов integrator_private_key.key и integrator_pubkey.pem.
  5. В поле Encoded сгенерируется подписанный Bearer-токен, который мы будем обменивать на мастер-токен.

...