Конечная точка Documents
Внимание!
Данная конечная точка работает только в режиме обратной совместимости и НЕ поддерживает подтверждение операций.
Конечная точка /documents предоставляет следующие методы:
- Зашифрование документа
- Расшифрование документа
- Разбор зашифрованного документа
- Усовершенствование подписи
- Хэширование документа
Примеры подписи приведены в разделе Примеры запросов на создание подписи
Зашифрование документа
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://{{hostname}}/{{instanceName}}/api/documents/encrypt |
Параметры | Document - Информация о документе |
Возвращаемое значение | string - Зашифрованный документ в кодировке Base64 |
Примечание
В структуре Document должно быть заполнено поле Encryption
Типовые ошибки
HTTP-код | Ошибка | Описание |
---|---|---|
400 | parameters_required | Не заполнено поле Encryption |
400 | content_required | Не передан документ для зашифрования |
400 | invalid_content | Неправильный формат документа (например, в случае XML шифрования, необходимо передать корректный xml-документ) |
400 | invalid_recipients | Сертификаты получателей не заданы или невалидны |
500 | An error has occurred | Внутренняя ошибка сервера |
Примеры запросов
Запрос
POST https://{{hostname}}/{{instanceName}}/api/documents/encrypt HTTP/1.1
Authorization: Bearer eyJ0eXAiOi ... P9RY0lwn-r5HGc7ZyTQ
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 1827
{
"Content": "PHJvb3Q+P ... ZT48L3Jvb3Q+",
"Encryption": {
"Type": 1,
"Parameters": {},
"Certificates": [ "MIIE7DC ... 4oXwmndTQ==" ]
}
}
Ответ
HTTP/1.1 200 OK
Content-Length: 3543
Content-Type: application/json; charset=utf-8
"PEVuY3J5 ... J5cHRlZERhdGE+"
Поиск подходящих сертификатов для расшифрования
Метод /decrypt/parse должен быть использован, если пользователь не знает заранее идентификатор сертификата для расшифрования. Результатом работы метода будет список идентификаторов сертификатов пользователя.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://{{hostname}}/{{instanceName}}/api/documents/decrypt/parse |
Параметры | Document - Информация о документе |
Возвращаемое значение | List |
Типовые ошибки
HTTP-код | Ошибка | Описание |
---|---|---|
400 | content_required | Не передан документ для расшифрования |
400 | invalid_content | Неправильный формат документа (например, в случае XML шифрования, необходимо передать корректный xml-документ) |
400 | certificate_not_found | Не найден сертификат для расшифрования |
400 | invalid_certificate | Указан неверный идентификатор сертификата |
400 | invalid_pin | Указан неверный ПИН-код |
500 | An error has occurred | Внутренняя ошибка сервера |
Примеры запросов
Запрос на получение идентификаторов сертификатов для расшифрования
POST https://{{hostname}}/{{instanceName}}/api/documents/decrypt/parse HTTP/1.1
Authorization: Bearer eyJ0eXAiOi ... P9RY0lwn-r5HGc7ZyTQ
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 3597
{
"Content": "PEVuY3J5 ... J5cHRlZERhdGE+",
"Decryption": {
"Type": 1,
"CertificateId": 0
}
}
Ответ
HTTP/1.1 200 OK
Content-Length: 5
Content-Type: application/json; charset=utf-8
[680]
Усовершенствование подписи
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://{{hostname}}/{{instanceName}}/api/documents/enhancesignature |
Параметры | Document - Информация о документе |
Возвращаемое значение | string - Подписанный документ в кодировке Base64 |
Примечание
В структуре Document должно быть заполнено поле Signature
.
Типовые ошибки
HTTP-код | Ошибка | Описание |
---|---|---|
400 | invalid_signature_params | Неверно указаны параметры подписи |
400 | content_required | Не передан документ для подписания |
400 | tsp_error | Ошибка получения штампа времени |
400 | ocsp_error | Ошибка получения OCSP-ответа |
400 | cert_chain_error | Ошибка построения цепочки сертификата |
400 | invalid_cert | Ошибка проверки сертификата |
400 | invalid_content | Невалидный формат подписи |
500 | An error has occurred | Внутренняя ошибка сервера |
Примеры запросов
Запрос
POST https://dss.cryptopro.ru...cuments/enhancesignature HTTP/1.1
Authorization: Bearer eyJ0eXAiOi ... P9RY0lwn-r5HGc7ZyTQ
Content-Type: application/json; charset=utf-8
Host: host
{
"Content":"signature",
"Signature":
{
"Type":2,
"Parameters":
{
"CADESType":"XLT1",
"TSPAddress":"https://dss-ca20-w12r2/tsp/tsp.srf"
}
}
}
Ответ
HTTP/1.1 200 OK
Content-Length: 3543
Content-Type: application/json; charset=utf-8
"YwZTUwYTJiM2E4MD ... 3de9sjgg"
Хэширование документа
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | https://{{hostname}}/{{instanceName}}/api/documents/hash |
Параметры | Document - Информация о документе |
Возвращаемое значение | string - Хэш-значение документа в кодировке Base64 |
Примечание
Хэширование документа работает только в поточном режиме. Подробнее о поточной обработке данных см. Потоковая обработка