Versions Compared

Key

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

Для использования в качестве ключевого контейнера сессии загружается : файловый контейнер в кодировке base64 в формате PKCS#12, проприетарных форматах ИИТ ("Key-6.dat", "Приватбанк jks", "Украина ZS2"). В случае успешной загрузки при выполнении операций создания ЭП, зашифрования и расшифрования будет использоваться личный ключ и, в случае наличия, сертификат (цепочка сертификатов) из загруженного

...

Путь к аппаратному носителю с поддержкой PKCS#11, который подключен к компьютеру, на котором выполняется сервис, необходимо получить посредством запроса https://docs.cipher.kiev.ua/x/GYOD.

Если в запросе одновременно присутствуют данные файлового ключевого контейнера и путь к ключевому контейнеру, то будет использован только путь.

Если отдельными запросами для сессии были загружены и данные файлового контейнера, и путь к ключевому контейнеру, то будет использован только путь.

Данные ключевого контейнера сессии находятся в оперативной памяти с момента загрузки до момента удаления сессии и выполнения виртуальной машиной Java последующей процедуры сборки мусора. Данные ключевого контейнера НИКОГДА не сохраняются сервисом в файл, базу данных или другие объекты для долгосрочного хранения информации.  

...

Имя
Тип
Описание
Допустимые значения
base64Data
StringФайловый контейнер в кодировке Base64Правильно закодированная Base64 строкаkeyStorePathString

Путь в специальном формате к файловому контейнеру или аппаратному носителю с поддержкой PKCS#11

Для получения списка подключенных аппаратных носителей необходимо использовать запрос
Ответ
Код ответаContent-typeДопустимые параметрыПример содержимого
200application/jsonmessage

{
    "message" : "Данные ключевого контейнера успешно загружены.",
}

503application/jsonmessage

{
    "message" : "Сервис хранения данных не запущен."
}

400application/jsonmessage{
    "message" : "Сессия отсутствует."
}
500application/jsonmessage
failureCause 
{
    "message" : "Ошибка при загрузке данных ключевого контейнера.",
"failureCause" : ""
}

...

ПараметрТип данныхОписание
messageStringОписание результата проведения операции
failureCause StringОписание причины возникновения ошибки
Пример кода на JavaScript + jQuery 2.2.4

...

Code Block
languagejs
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
languagejs
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;
    }
})

...

Code Block
languagejs
var data = {
    base64Data: "данные файлового контейнера в кодировке base64"
}
$.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;
    }
})

...