Для использования в качестве ключевого контейнера сессии загружаетсявикористання в якості ключового контейнеру сесії завантажується:
- файловый файловий контейнер в кодировке у кодуванні base64 в формате форматі PKCS#12, проприетарных форматах ИИТ пропрієтарних форматів ІІТ ("Key-6.dat", "Приватбанк jks", "Україна ZS2"). В случае успешной загрузки при выполнении операций создания ЭП, зашифрования и расшифрования будет использоваться личный ключ и, в случае наличия, сертификат (цепочка сертификатов) из загруженного файлового контейнера.
- путь в специальном формате к файловому контейнеру или аппаратному носителю с поддержкой PKCS#11 в активном (пассивном) режиме.
Путь к аппаратному носителю с поддержкой PKCS#11, который подключен к компьютеру, на котором выполняется сервис, необходимо получить посредством запроса https://docs.cipher.kiev.ua/x/GYOD.
Если в запросе одновременно присутствуют данные файлового ключевого контейнера и путь к ключевому контейнеру, то будет использован только путь.
Если отдельными запросами для сессии были загружены и данные файлового контейнера, и путь к ключевому контейнеру, то будет использован только путь.
Данные ключевого контейнера сессии находятся в оперативной памяти с момента загрузки до момента удаления сессии и выполнения виртуальной машиной Java последующей процедуры сборки мусора. Данные ключевого контейнера НИКОГДА не сохраняются сервисом в файл, базу данных или другие объекты для долгосрочного хранения информации.
- У якості успішного завантаження при виконанні операції створення ЕП, зашифрування та розшифрування буде використовуватися особистий ключ, у випадку наявності, сертифікат (ланцюг сертифікатів) із завантаженого файлового контейнеру.
- шлях у спеціальному форматі до файлового контейнеру чи захищеного носія з підтримкою PKCS#11 в активному (пасивному) режимі.
Шлях до захищеного носія з підтримкою PKCS#11, який підключено до комп'ютеру, на якому виконується сервіс, необхідно отримати за допомогою запиту.
Якщо в запиті одночасно присутні дані файлового контейнеру та шлях до ключового контейнеру, то буде використано лише шлях.
Якщо окремими запитами для сесії були завантажені та дані файлового контейнеру, то буде використано шлях.
Дані ключового контейнеру сесії в оперативній пам'яті з моменту завантаження до моменту видалення сесії та виконання віртуальною машиною Java подальшої збірки сміття. Дані ключового контейнеру НІКОЛИ не зберігаються сервісом у файлі, базу даних чи інші об'єкти для довгострокового зберігання інформації.
URL-адреса запиту
...
https://local.cipher.kiev.ua:9090/api/v1/ticket/{uuid}/keyStore
Метод
PUT
...
Параметри запиту
...
Налаштовувані заголовки
...
запиту
Content-Type | application/json |
...
Параметри JSON
...
обʼєкту запиту
ИмяОписаниеДопустимые значенияФайловый в кодировке Base64Правильно закодированная Base64 строкау кодуванні Base64. Не обовʼязковий параметр, який використовується лише при роботі з файловим контейнером. | Правильно закодований Base64 рядок |
keyStorePath | String |
Путь в специальном формате к файловому контейнеру или аппаратному носителю с поддержкой PKCS#11 | Для получения списка подключенных аппаратных носителей необходимо использовать запрос | Ответ
Шлях у спеціальному форматі до файлового контейнеру чи захищеного носія з підтримкою PKCS#11 | Для отримання списку підключених захищених носіїв, необхідно виконати запит |
Відповідь
Код ответаДопустимые параметры | Пример содержимогоДопустимі параметри | Приклад вмісту |
---|
200 | application/json | message | {
|
"Данные ключевого контейнера успешно загружены. "Дані ключового контейнеру успішно завантажено", } |
503 | application/json | message | {
|
"Сервис хранения данных не запущен "Сервіс зберігання даних не запущено." } |
400 | application/json | message | { |
Сессия отсутствуетСесія відсутня." } |
500 | application/json | message failureCause | {
|
Ошибказагрузкеданныхключевогоконтейнераконтейнеру.", "failureCause" : "" } |
...
Параметри JSON
...
обʼєкта відповіді
данныхОписаниеОписание результата проведения операцииОпис результату проведення операції |
failureCause | String |
Описание причины возникновения ошибки | Пример кода на JavaScript + jQuery 2.2.4 в случае использования аппаратного носителя в активном режиме
Code Block |
---|
|
var data = {
keyStorePath: "@. Avtor SecureToken 0"
}
$.ajax({
url: "https://local.cipher.kiev.ua:9090/api/v1/ticket/79343564-147f-4a2a-ac2a-182d7a55f802/keyStore",
type: "POST",
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 в случае использования файлового контейнера с указанием пути
Code Block |
---|
|
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: "POST",
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 в случае использования данных файлового контейнера
...
...
Опис причини появи помилки |