You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Захищені параметри - це чутливі з точки зору безпеки параметри виклику методів REST API сервісу.

Форми захищених параметрів

Захищені параметри мають дві форми: відкриту та транспортну. Відкрита форма захищених параметрів може бути отримана з транспортної, а транспортна форма захищених параметрів може бути отримана з відкритої шляхом визначених криптографічних перетворень.

Перелік захищених параметрів, а також формат їх відкритої форми зазначаеться окремо для кожного методу REST API у відповідному розділі документації. Зазвичай методи сервісу використовують відкриту форму захищених параметрів у форматі JSON з кодуванням тексту UTF-8.

Транспортна форма захищених параметрів складається з двох змінних: encryptedData та secretKey, які влючаються до складу JSON об'єкту запиту з відкритими параметрами.

Порядок створення транспортної форми захищених параметрів для відкритої форми у форматі JSON з кодуванням тексту UTF-8

  1. Отримати налаштування захищених параметрів з використанням одного з методів зі складу сервісів CiHSM Agent, CiHSM Site, CiHSM vTMS, CiHSM vTCO:
    1. Отримання налаштувань захищених параметрів (CiHSM vTMS)
  2. Використовуючи зазначений в документації перелік захищених параметрів та їх значень сформувати JSON об'єкт (кодування тексту UTF-8).
  3. Отримати представлення JSON об'єкта з захищеними параметрами (етап 2) у вигляді байтового масиву.
  4. Згенерувати секретний ключ алгоритма AES довжиною 128 біт.
  5. З використанням секретного ключа (етап 4) зашифрувати байтовий масив (етап 3). Для зашифрування застосувати наступні параметри: AES/CTR/NoPadding, IV  (Initialization Vector)- всі нулі.
  6. Присвоїти зашифрований байтовий масив (етап 7) змінній encryptedData.
  7. Отримати рядок (кодування UTF-8) з поточною датою та часом (по UTC), який сформований у відповідності до вимого стандарта ISO 8601, шаблон "yyyy-MM-dd'T'HH:mm:ssZ". Рекомендується використовувати значення ProtectedParametersSettingResponse.currentUtcDateTime (етап 1).
  8. Отримати представлення рядка (етап 7) у вигляді байтового масиву.
  9. Провести конкатенацію ("зклейку") байтових масивів  секретного ключа (етап 4) та поточної дати та часу (етап 8). 
  10. З використанням відкритого RSA ключа зашифрувати байтовий масив (етап 9). В якості відкритого ключа використовувати значення ProtectedParametersSettingResponse.publicKeyTextual (етап 1).
  11. Присвоїти зашифрований байтовий масив (етап 10) змінній secretKey.
  12. Включити зміні encryptedData та secretKey до складу JSON об'єкту запиту з відкритими параметрами.

Реалізації створення захищених параметрів

  • Реалізація для JavaScript.
  • Реалізація для Java.
  • Виключно для практичного виконання запитів в середовищі Postman до складу сервісу входить метод для створення захищених параметрів. 

    Увага

    Не використовувати метод REST API для створення захищених параметрів при розробці застосувань та інтеграцій.


  • No labels