Приложение KAZTOKEN desktop является аналогом приложения NCALayer с такими дополнительными функциями, как возможность настройки известных устройств для выполнения подписания в один клик и подписание нескольких файлов одной операцией.
KAZTOKEN desktop 1.2.1171.743Поддержка операционных систем:
Интеграция с удостоверяющими центрами:
Поддержка API:
Поддержка типов носителей ключей ЭЦП:
API мультиподписания, разработанное для SIGEX, работает по протоколу HTTPS в отличие от классических API NCALayer, работающих по протоколу WebSocket, поэтому запросы к этому API нужно слать методом POST на https://127.0.0.1:24680/.
Данный API позволяет передавать блоки данных на подписание по отдельности, благодаря этому количество подписываемых за одну операцию документов не ограничено.
Подписание выполняется в два этапа:
Так же предусмотрена возможность отменить операцию.
Важно: для работы этого 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 с информацией о версии приложения.
Регистрация операции выполняется отправкой следующего 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 ответа) будет содержать уникальное строковое значение - вторую часть данных.Блоки данных на подписание следует отправлять методом POST на https://127.0.0.1:24680/{operationId} (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Приложение обработает только такое количество блоков данных, сколько их было указано в numberOfDocuments при регистрации процедуры.
В том случае, если был установлен флаг base64, то данные следует передавать закодированными в base64, иначе в бинарном виде.
При успешном подписании приложение в ответ вернет статус 200 и в качестве тела ответа сформированную CMS подпись. В том случае, если был установлен флаг base64, то подпись будет закодирована в base64, иначе приложение вернет ее в бинарном виде.
Для того, чтобы отменить операцию мультиподписания, нужно отправить POST на https://127.0.0.1:24680/{operationId}/cancel (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Тело данного запроса должно быть пустым.
Регистрация операции выполняется отправкой следующего JSON методом POST на https://127.0.0.1:24680/xml:
{
  "numberOfDocuments": 1,
  "jsonEncoded":  false
}
numberOfDocuments - сколько документов (файлов) необходимо подписать;jsonEncoded - строка XML будет передана в эскапированном для JSON виде.При успешной регистрации приложение вернет ответ со следующими данными необходимым для последующих обращений:
operationId;operationCookie (установленный через заголовок Set-Cookie ответа) будет содержать уникальное строковое значение - вторую часть данных.Блоки данных на подписание следует отправлять методом POST на https://127.0.0.1:24680/xml/{operationId} (вместо {operationId} нужно указать идентификатор операции подписания). Так же в составе запроса должен быть передан куки operationCookie со значением полученным на этапе регистрации. Приложение обработает только такое количество блоков данных, сколько их было указано в numberOfDocuments при регистрации процедуры.
При успешном подписании приложение в ответ вернет статус 200 и в качестве тела ответа сформированную XML подпись. В том случае, если был установлен флаг jsonEncoded, то XML будет закодирован для JSON.
Для того, чтобы отменить операцию мультиподписания, нужно отправить 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 ТОО "Цифровой поток - Инновации".