Заміна файлового ключа на апаратний в user-management

Криптографічний сервіс digital-signature-ops, що розгорнутий в проєкті user-management, використовує два секрети:

  • digital-signature-data;

  • digital-signature-env-vars.

crypto service id gov ua 01

Наприклад, для інтеграції з id.gov.ua, необхідно замінити файловий ключ на апаратний. Для цього потрібно виконати наступні кроки:

  1. Налаштувати digital-signature-data;

  2. Налаштувати digital-signature-env-vars;

  3. Перезапустити сервіс digital-signature-ops.

1. Налаштування digital-signature-data

  1. Перейдіть до налаштувань секрету digital-signature-data в Openshift-консолі.

    • Оберіть розділ Workloads.

    • Оберіть підрозділ Secrets.

    • Виберіть проєкт user-management.

    • У рядку пошуку вкажіть digital-signature.

    • Натисніть на digital-signature-data у колонці Name.

    crypto service id gov ua 02

  2. Внизу сторінки представлено параметри, які необхідно налаштувати.

    crypto service id gov ua 03

  3. Зберіть усі необхідні файли з параметрами в одній директорії.

    crypto service id gov ua 12

    • CACertificates.p7b - список сертифікатів сумісних ЦСК (CACertificates.p7b), який можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    • CAs.json - параметри взаємодії із сумісними ЦСК (CAs.json), який можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    • Key-6.dat - сам файл ключа.

    • allowed-keys.yml - файл з даними дозволених ключів (використовується при роботі реєстрів). Необхідно зазначити два параметри для кожного ключа:

      • issuer - реквізити ЦСК.

        Можна переглянути в детальній інформації ключа, при його зчитуванні у застосунку "ІІТ Користувач ЦСК".

        Наприклад:

        change key 18

      • serial - реєстраційний (серійний) номер ключа.

        Можна переглянути в детальній інформації ключа, при його зчитуванні у застосунку "ІІТ Користувач ЦСК".

        Наприклад:

        change key 19

    • osplm.ini - файл з налаштуваннями для ініціалізації криптографічного сервісу. Приклад структури файлу доступний за посиланням.У цьому файлі налаштовуються наступні параметри:

      • Налаштування у блоці даних АЦСК [\SOFTWARE\Institute of Informational Technologies\Certificate Authority-1.3\End User\CMP]:

        • CommonName - назва АЦСК.

        • Address - хост АЦСК.

        • Port - порт АЦСК.

          Зазначені параметри можливо отримати у файлі CAs.json, наприклад:

          crypto service id gov ua 04

      • Налаштування у блоці даних ключа [\SOFTWARE\Institute of Informational Technologies\Key Medias\NCM Gryada-301\Modules\001]:

        • SN - серійний номер пристрою.

        • Address - хост ключа (IP-адреса).

          Серійний номер пристрою і хост ключа відображається в назві ключа при його зчитуванні у застосунку "ІІТ Користувач ЦСК", наприклад:

          001:3016(10.0.200.102), де

          • 001 — серійний номер пристрою;

          • 3016 — порт ключа;

          • 10.0.200.102 — хост ключа.

          change key 30

        • AddressMask - маска ключа.

          За замовчуванням встановлюється значення — 255.255.255.255.

  4. Запустіть командний рядок (cmd) з місця де знаходяться файли з налаштуваннями.

    У разі виконання дій вперше, попередньо завантажте OpenShift command line interface.

    • Натисніть піктограму знака питання в правій верхній частині сторінки.

    • Виберіть меню Command line tools.

    • Виберіть утиліту з переліку для завантаження, відповідно до вашої операційної системи.

    • Розархівуйте та запустіть завантажений файл.

      remote connection 3

  5. Отримайте токен для авторизації в OpenShift.

    • Натисніть на ім’я профілю у правій верхній частині сторінки та оберіть пункт меню Copy login command.

      remote connection 5

    • Повторно автентифікуйтесь в системі.

    • Натисніть Display Token.

    • Скопіюйте значення з поля Log in with this token.

      remote connection 6

  6. Виконайте скопійовану команду в командному рядку (cmd), наприклад:

    oc login --token=sha256~1aWEXnvr4IBVNsrdepqDl5Q10NkhokW7nt-s_-trO8k --server=https://api.cicd2.mdtu-ddm.projects.epam.com:6443
  7. Виберыть проєкт user-management, виконавши команду:

    oc project user-management
  8. Виконайте наступну команду, щоб застосувати зміни у налаштуваннях секрету digital-signature-data.

    oc create secret generic digital-signature-data --from-file=./CACertificates.p7b --from-file=./CAs.json --from-file=./osplm.ini --from-file=./Key-6.dat --from-file=./allowed-keys.yml --dry-run=client -o yaml | oc replace -f -

    crypto service id gov ua 05

  9. У разі успішного виконання в командному рядку буде показано:

    secret/digital-signature-data replaced

2. Налаштування digital-signature-env-vars

  1. Перейдіть до налаштувань секрету digital-signature-env-vars в Openshift-консолі.

    • Оберіть розділ Workloads.

    • Оберіть підрозділ Secrets.

    • Виберіть проєкт user-management.

    • У рядку пошуку вкажіть digital-signature.

    • Натисніть на digital-signature-env-vars у колонці Name.

    crypto service id gov ua 06

  2. Внизу сторінки представлено параметри, які необхідно налаштувати.

    crypto service id gov ua 07

  3. Зберіть усі необхідні файли з параметрами в одній директорії.

    crypto service id gov ua 13

    • sign.key.device-type - тип ключа. Вкажіть hardware - для апаратного ключа.

      Параметри, що встановлені за замовчуванням для файлового ключа:

      • sign.key.device-type зі значенням file.

      • sign.key.file.issuer - назва АЦСК.

      • sign.key.file.password - пароль ключа.

      При заміні файлового ключа на апаратний ці параметри залишити пустими.

    • sign.key.hardware.device - параметри мережевого криптомодуля у заданому форматі (для апаратного ключа).

      Приклад формату:

      001:3016(10.0.200.102), де

      • 001 — серійний номер пристрою;

      • 3016 — порт ключа;

      • 10.0.200.102 — хост ключа.

      change key 30

    • sign.key.hardware.password - пароль ключа (для апаратного ключа).

      Пароль ключа має наступну структуру:

      ##User##Password.

    • sign.key.hardware.type - тип криптомодуля (для апаратного ключа).

      Зазвичай значення за замовчуванням:

      криптомод. ІІТ Гряда-301

  4. Запустіть командний рядок (cmd) з місця де знаходяться файли з налаштуваннями.

  5. Отримайте токен для авторизації в OpenShift.

    • Натисніть на ім’я профілю у правій верхній частині сторінки та оберіть пункт меню Copy login command.

      remote connection 5

    • Повторно автентифікуйтесь в системі.

    • Натисніть Display Token.

    • Скопіюйте значення з поля Log in with this token.

      remote connection 6

  6. Виконайте скопійовану команду в командному рядку (cmd), наприклад:

    oc login --token=sha256~1aWEXnvr4IBVNsrdepqDl5Q10NkhokW7nt-s_-trO8k --server=https://api.cicd2.mdtu-ddm.projects.epam.com:6443
  7. Виберыть проєкт user-management, виконавши команду:

    oc project user-management
  8. Виконайте наступну команду, щоб застосувати зміни у налаштуваннях секрету digital-signature-env-vars.

    oc create secret generic digital-signature-env-vars --from-file=./sign.key.device-type --from-file=./sign.key.file.issuer --from-file=./sign.key.file.password --from-file=./sign.key.hardware.device --from-file=./sign.key.hardware.password --from-file=./sign.key.hardware.type --dry-run=client -o yaml | oc replace -f -

    crypto service id gov ua 14

  9. У разі успішного виконання в командному рядку буде показано:

    secret/digital-signature-env-vars replaced

3. Перезапуск сервісу digital-signature-ops

Для того, щоб перезапустити сервіс digital-signature-ops

  1. Відкрийте сервіс digital-signature-ops.

    crypto service id gov ua 08

  2. Перейдіть до вкладки Pods, натисніть іконку у вигляді трьох вертикальних крапок, зі спадного меню оберіть Delete Pod.

    crypto service id gov ua 09

  3. Натисніть Delete для підтвердження.

    0

  4. Після видалення відбудеться перезапуск pod. У разі успішного налаштування pod буде у статусі Running, а на вкладці Logs будуть показані системні записи з підключення.

    crypto service id gov ua 10