Versions Compared

Key

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

??? ????????????? ? ???????? ????????? ?????????? ?????? ???????????:

  • ???????? ????????? ? ????????? base64 ? ??????? PKCS#12, ????????????? ???????? ???

Для использования в качестве ключевого контейнера сессии загружается:

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

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

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

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

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

...

???? ? ??????? ???????????? ???????????? ?????? ????????? ????????? ?????????? ? ???? ? ????????? ??????????, ?? ????? ??????????? ?????? ????.

???? ?????????? ????????? ??? ?????? ???? ????????? ? ?????? ????????? ??????????, ? ???? ? ????????? ??????????, ?? ????? ??????????? ?????? ????.

?????? ????????? ?????????? ?????? ????????? ? ??????????? ?????? ? ??????? ???????? ?? ??????? ???????? ?????? ? ?????????? ??????????? ??????? Java ??????????? ????????? ?????? ??????. ?????? ????????? ?????????? ??????? ?? ??????????? ???????? ? ????, ???? ?????? ??? ?????? ??????? ??? ????????????? ???????? ??????????.  

URL-????? ???????

https://local.cipher.kiev.ua:9090/api/v1/ticket/{uuid}/keyStore

...

?????

PUT

...

????????? ???????
uuidStringИдентификатор сессии

...

????????????? ??????
????????????? ????????? ???????
Content-Typeapplication/json
Параметры JSON объекта запроса
Имя
Тип
Описание
Допустимые значения
base64Data
StringФайловый контейнер в кодировке Base64Правильно закодированная Base64 строка
keyStorePathString

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

Для получения списка подключенных аппаратных носителей необходимо использовать запрос
Ответ
????????? JSON ??????? ???????
???
???
????????
?????????? ????????
base64Data
String???????? ????????? ? ????????? Base64????????? ?????????????? Base64 ??????
keyStorePathString

???? ? ??????????? ??????? ? ????????? ?????????? ??? ??????????? ???????? ? ?????????? PKCS#11

??? ????????? ?????? ???????????? ?????????? ????????? ?????????? ???????????? ??????
?????
??? ??????Content-type?????????? ??????????????? ???????????Код ответаContent-typeДопустимые параметрыПример содержимого
200application/jsonmessage

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

503application/jsonmessage

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

400application/jsonmessage{
    "message" : "Сессия отсутствует?????? ???????????."
}
500application/jsonmessage
failureCause 
{
    "message" : "Ошибка при загрузке данных ключевого контейнера?????? ??? ???????? ?????? ????????? ??????????.",
"failureCause" : ""
}
Параметры JSON объекта ответа
ПараметрТип данныхОписание
messageStringОписание результата проведения операции
failureCause StringОписание причины возникновения ошибки

...

????????? JSON ??????? ??????
??????????? ??????????????
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;
    }
})

...

?????? ???? ?? JavaScript + jQuery 2.2.4

...

? ?????? ????????????? ?????? ????????? ??????????
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;
    }
})

...