Для використання в якості ключового контейнеру сесії завантажується:
- файловий контейнер у кодуванні base64 в форматі PKCS#12, пропрієтарних форматів ІІТ ("Key-6.dat", "Приватбанк jks", "Україна ZS2"). У якості успішного завантаження при виконанні операції створення КЕП, зашифрування та розшифрування буде використовуватися особистий ключ, у випадку наявності, сертифікат (ланцюг сертифікатів) із завантаженого файлового контейнеру.
- шлях у спеціальному форматі до файлового контейнеру чи захищеного носія з підтримкою PKCS#11 в активному (пасивному) режимі.
Шлях до захищеного носія з підтримкою PKCS#11, який підключено до комп'ютеру, на якому виконується сервіс, необхідно отримати за допомогою запиту.
Якщо в запиті одночасно присутні дані файлового контейнеру та шлях до ключового контейнеру, то буде використано лише шлях.
Якщо окремими запитами для сесії були завантажені та дані файлового контейнеру, то буде використано шлях.
Дані ключового контейнеру сесії в оперативній пам'яті з моменту завантаження до моменту видалення сесії та виконання віртуальною машиною Java подальшої збірки сміття. Дані ключового контейнеру НІКОЛИ не зберігаються сервісом у файлі, базу даних чи інші об'єкти для довгострокового зберігання інформації.
URL-адреса запиту
https://local.cipher.kiev.ua:9090/api/v1/ticket/{uuid}/keyStore
Метод
PUT
Параметри запиту
uuid | String | Ідентифікатор сесії |
Налаштовувані заголовки запиту
Content-Type | application/json |
Параметри JSON обʼєкту запиту
Імʼя | Тип | Опис | Допустимі значення |
---|---|---|---|
base64Data | String | Файловий контейнер у кодуванні Base64. Не обовʼязковий параметр, який використовується лише при роботі з файловим контейнером. | Правильно закодований Base64 рядок |
keyStorePath | String | Шлях у спеціальному форматі до файлового контейнеру чи захищеного носія з підтримкою PKCS#11 | Для отримання списку підключених захищених носіїв, необхідно виконати запит |
Відповідь
Код відповіді | Content-type | Допустимі параметри | Приклад вмісту |
---|---|---|---|
200 | application/json | message | { |
503 | application/json | message | { |
400 | application/json | message | { "message" : "Сесія відсутня." } |
500 | application/json | message failureCause | { |
Параметри JSON обʼєкта відповіді
Параметр | Тип даних | Опис |
---|---|---|
message | String | Опис результату проведення операції |
failureCause | String | Опис причини появи помилки |
Приклад коду на JavaScript + jQuery 2.2.4 у випадку використання захищеного носія в активному режимі
var data = { keyStorePath: "@. Avtor SecureToken 0" } $.ajax({ url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/keyStore", type: "PUT", dataType: "json", contentType: "application/json", data: JSON.stringify(data) }).done(function (jsonResponse, textStatus, xhr) { message = jsonResponse.message; }).fail(function (xhr) { try { var jsonResponse = JSON.parse(xhr.responseText); message = jsonResponse.message; failureCause = jsonResponse.failureCause; } catch (e) { message = (xhr.responseText == undefined) ? "Помилка при завантаженні даних ключового контейнеру." : xhr.responseText; } })
Приклад коду на JavaScript + jQuery 2.2.4 у випадку використання файлового контейнеру зі вказівкою шляху
var data = { keyStorePath: "z:\\sharedFiles\\temp\\7\\Molyakov_overdue-DS+Arg.pfx" } $.ajax({ url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/keyStore", type: "PUT", dataType: "json", contentType: "application/json", data: JSON.stringify(data) }).done(function (jsonResponse, textStatus, xhr) { message = jsonResponse.message; }).fail(function (xhr) { try { var jsonResponse = JSON.parse(xhr.responseText); message = jsonResponse.message; failureCause = jsonResponse.failureCause; } catch (e) { message = (xhr.responseText == undefined) ? "Помилка при завантаженні даних ключового контейнеру." : xhr.responseText; } })
Приклад коду на JavaScript + jQuery 2.2.4 у випадку використання даних файлового контейнеру
var data = { base64Data: "данные файлового контейнера в кодировке base64" } $.ajax({ url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/keyStore", type: "PUT", dataType: "json", contentType: "application/json", data: JSON.stringify(data) }).done(function (jsonResponse, textStatus, xhr) { message = jsonResponse.message; }).fail(function (xhr) { try { var jsonResponse = JSON.parse(xhr.responseText); message = jsonResponse.message; failureCause = jsonResponse.failureCause; } catch (e) { message = (xhr.responseText == undefined) ? "Помилка при завантаженні даних ключового контейнеру." : xhr.responseText; } })