KAZTOKEN desktop

Приложение KAZTOKEN desktop

KAZTOKEN desktop

Приложение KAZTOKEN desktop является аналогом приложения NCALayer с такими дополнительными функциями, как возможность настройки известных устройств для выполнения подписания в один клик и подписание нескольких файлов одной операцией.

KAZTOKEN desktop 1.2.1171.743

Поддержка операционных систем:

  • Windows 8+

Интеграция с удостоверяющими центрами:

  • НУЦ РК

Поддержка API:

  • NCALayer (WebSocket)
    • Applet
    • commonUtils
    • basics (дополнено возможностью подписывать несколько документов одной операцией)
  • SIGEX (HTTPS)
    • мультиподписание - для подписания более 3-х документов требует активной подписки Крупный бизнес на сервисе https://sigex.kz

Поддержка типов носителей ключей ЭЦП:

  • KAZTOKEN (вся линейка продуктов)

Описание API мультиподписания (SIGEX)

API мультиподписания, разработанное для SIGEX, работает по протоколу HTTPS в отличие от классических API NCALayer, работающих по протоколу WebSocket, поэтому запросы к этому API нужно слать методом POST на https://127.0.0.1:24680/.

Данный API позволяет передавать блоки данных на подписание по отдельности, благодаря этому количество подписываемых за одну операцию документов не ограничено.

Подписание выполняется в два этапа:

  1. Регистрация операции мультиподписания.
  2. Передача отдельных блоков данных на подписание.

Так же предусмотрена возможность отменить операцию.

Важно: для работы этого API необходимо чтобы сервер, со страницы которого осуществляются вызовы, устанавливал в заголовке Content-Security-Policy значение connect-src https://127.0.0.1:24680; иначе браузер не будет передавать в HTTP запросах к KAZTOKEN mobile/desktop куки operationCookie и вызовы будут возвращать 401 Unauthorized.

Поддержка API мультиподписания реализована в JS библиотеке с открытым исходным кодом ncalayer-js-client.

Проверка доступности

Для того, чтобы проверить доступность API мультиподписания, можно отправить GET на https://127.0.0.1:24680/.

Ответ будет содержать JSON с информацией о версии приложения.

Регистрация операции мультиподписания (CMS)

Регистрация операции выполняется отправкой следующего JSON методом POST на https://127.0.0.1:24680/:

{
  "numberOfDocuments": 1,
  "base64": false,
  "encapsulateContent": false
}
  • numberOfDocuments - сколько документов (файлов) необходимо подписать;
  • base64 - флаг, указывающий что данные на этапе подписания будут передаваться в виде base64 строк и ответы приложение так же будет возвращать закодированными в base64;
  • encapsulateContent - флаг, указывающий что на этапе подписания данные должны быть вложены (encapsulated) в результирующий подписанный CMS.

При успешной регистрации приложение вернет ответ со следующими данными необходимым для последующих обращений:

  • тело ответа будет представлять из себя строку - идентификатор операции operationId;
  • куки operationCookie (установленный через заголовок Set-Cookie ответа) будет содержать уникальное строковое значение - вторую часть данных.
Передача отдельных блоков данных на подписание (CMS)

Блоки данных на подписание следует отправлять методом POST на https://127.0.0.1:24680/{operationId} (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Приложение обработает только такое количество блоков данных, сколько их было указано в numberOfDocuments при регистрации процедуры.

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

При успешном подписании приложение в ответ вернет статус 200 и в качестве тела ответа сформированную CMS подпись. В том случае, если был установлен флаг base64, то подпись будет закодирована в base64, иначе приложение вернет ее в бинарном виде.

Отмена операции (CMS)

Для того, чтобы отменить операцию мультиподписания, нужно отправить POST на https://127.0.0.1:24680/{operationId}/cancel (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Тело данного запроса должно быть пустым.

Регистрация операции мультиподписания (XML)

Регистрация операции выполняется отправкой следующего JSON методом POST на https://127.0.0.1:24680/xml:

{
  "numberOfDocuments": 1,
  "jsonEncoded":  false
}
  • numberOfDocuments - сколько документов (файлов) необходимо подписать;
  • jsonEncoded - строка XML будет передана в эскапированном для JSON виде.

При успешной регистрации приложение вернет ответ со следующими данными необходимым для последующих обращений:

  • тело ответа будет представлять из себя строку - идентификатор операции operationId;
  • куки operationCookie (установленный через заголовок Set-Cookie ответа) будет содержать уникальное строковое значение - вторую часть данных.
Передача отдельных блоков данных на подписание (XML)

Блоки данных на подписание следует отправлять методом POST на https://127.0.0.1:24680/xml/{operationId} (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Приложение обработает только такое количество блоков данных, сколько их было указано в numberOfDocuments при регистрации процедуры.

При успешном подписании приложение в ответ вернет статус 200 и в качестве тела ответа сформированную XML подпись. В том случае, если был установлен флаг jsonEncoded, то XML будет закодирован для JSON.

Отмена операции (XML)

Для того, чтобы отменить операцию мультиподписания, нужно отправить POST на https://127.0.0.1:24680/xml/{operationId}/cancel (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Тело данного запроса должно быть пустым.

Регистрация операции мультиподписания (ЭСФ)

Регистрация операции выполняется отправкой следующего JSON методом POST на https://127.0.0.1:24680/esf:

{
  "numberOfDocuments": 1
}
  • numberOfDocuments - сколько документов (файлов) необходимо подписать.

При успешной регистрации приложение вернет ответ со следующими данными необходимым для последующих обращений:

  • тело ответа будет представлять из себя строку - идентификатор операции operationId;
  • куки operationCookie (установленный через заголовок Set-Cookie ответа) будет содержать уникальное строковое значение - вторую часть данных.
Передача отдельных блоков данных на подписание (ЭСФ)

Блоки данных на подписание следует отправлять методом POST на https://127.0.0.1:24680/esf/{operationId} (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Приложение обработает только такое количество блоков данных, сколько их было указано в numberOfDocuments при регистрации процедуры.

При успешном подписании приложение в ответ вернет статус 200 и в качестве тела ответа сформированную подпись.

Отмена операции (ЭСФ)

Для того, чтобы отменить операцию мультиподписания, нужно отправить POST на https://127.0.0.1:24680/esf/{operationId}/cancel (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Тело данного запроса должно быть пустым.

Ошибки

В том случае, если сервис по какой-то причине не может обработать запрос, он возвращает ответ с кодом отличным от 200, в качестве тела ответа он возвращает строку с кратким описанием:

  • 403 Forbidden - при попытке инициировать мультиподписание во время выполнения другой операций;
  • 400 BadRequest - технические проблемы с запросом (запрос поступил не целиком или структура запроса не верна);
  • 500 InternalServerError - произошла неожиданная ошибка в приложении (например исключение при формировании подписи);
  • 409 Conflict - пользователь кликнул Отмена во время выбора ключа для мультиподписания;
  • 402 PaymentRequired - выбранный ключ для мультиподписания не является ключом сотрудника организации у которой есть действующая корпоративная подписка SIGEX;
  • 401 Unauthorized - используется некорректный идентификатор процедуры мультиподписания operationId или куки operationCookie (в частности если пользователь кликнул Отмена в процессе мультиподписания и операция уже завершена);
  • 404 NotFound - путь в запросе некорректный.


©2025 ТОО "Цифровой поток - Инновации".