Формирование подписи¶
POST /v2/signAuthorization: Bearer access_token
Content-Type: application/json
Accept: application/json
Тело запроса:
{
"Thumbprint": "string", // отпечаток сертификата
"CertificateRawData": "base64", // данные сертификата в виде массива байт в Base64
"ThrowOnErrors": true, // признак того, что в случае ошибки нужно прервать выполнение запроса
"AttachedSignature": true, // признак того, что нужно создать присоединенную подпись
"Contents": [ // коллекция данных на подписание
"base64"
]
}
Описание запроса¶
Запрос позволяет сформировать ЭП для переданных данных с помощью заданного сертификата.
Сертификат для подписания либо задается отпечатком в поле Thumbprint, либо в поле CertificateRawData передается массив байт сертификата в Base64.
Запрос позволяет сформировать несколько подписей за один раз. Данные на подписание передаются в коллекции Contents.
Каждый элемент коллекции - это массив байт в Base64.
Поле ThrowOnErrors управляет поведением запроса в случае, если возникли ошибки при формировании одной из подписей.
Если поле установлено в true и хотя бы одна из подписей не была сформирована, то выполнение запроса прерывается
и возвращается HTTP-статус 400 (Bad Request) с сообщением об ошибке.
Если поле установлено в false, то выполнение запроса не прерывается и Crypto API пытается сформировать подписи для оставшихся данных.
Если поле AttachedSignature установлено в true, то результатом выполнения запроса будут присоединенные подписи, т.е. файлы,
содержащие исходный файл и его подпись. Если поле установлено в false, то результатом выполнения будут отсоединенные подписи под исходными файлами.
Ответ на запрос¶
В случае успешного выполнения либо в случае значения false в поле ThrowOnErrors, ответ на запрос содержит коллекцию результатов формирования подписей.
Порядок элементов в коллекции совпадает с порядком элементов в поле Contents запроса: первому элементу в Contents соответствует первый элемент в ответе.
Структура данных элемента коллекции представляет JSON вида:
{
"Result": "base64", // данные подписи в виде массива байт в Base64
"ErrorMessage": "string" // сообщение об ошибке при формировании подписи
}
Данные подписи¶
Если подпись была успешно сформирована, то в поле Result возвращаются данные подписи в виде массива байт в Base64.
Формат подписи зависит от настроек Продукта. Если используется криптопровайдер на основе установленного на сервере КриптоПро CSP и CSP использует настройки по умолчанию, то:
если для формирования подписей используется сервис CAdES, сформированная подпись будет улучшена до заданного типа;
если для формирования подписей используется сервис по умолчанию, сформированная подпись будет в формате CAdES BES.
Если используется иной криптопровайдер, будет использован формат подписи, настроенный для выбранного криптопровайдера. В любом случае подпись будет упакована в PKCS #7-контейнер.
Сообщение об ошибке¶
Если подпись не была сформирована, то в поле ErrorMessage возвращается текст возникшей ошибки.