Конечная точка Signature
Конечная точка Signature
предназначена для создания операций подписи
документов (v2 API).
Методы данной конечной точки позволяют выполнять операции над множеством документов, содержимое которых загружается из Сервиса Обработки Документов.
Документы для обработки могут быть переданы как в теле запроса (BinaryData -> Content
), так и по ссылке (BinaryData -> RefId
).
В поле RefId
передаётся идентификатор документа загруженного в Сервис Обработки Документов.
Создание операции подписи
Метод предназначен для создания операции подписи документов.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | /v2/signature |
Параметры | Объект SignatureOperation, содержащий сведения об операции подписи. |
Возвращаемое значение | Объект OperationInfo, содержащий сведения о созданной операции. |
Если операция подписи требует подтверждения, то поле Status
будет содержать
значение Created
, иначе Completed
.
Пример запроса
POST /SignServer/rest/api/v2/signature HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{
"BinaryData": [{"RefId": "3a6629fa-5759-4d4a-8602-0df7ac8420aa"}],
"Signature" :
{
"CertificateId": "0",
"ProcessingTemplateId": "1"
}
}
Примеры ответов
Операция требует подтверждения.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": "ea2eb4e5-dc7c-4c33-9b72-5efba3fd0f75",,
"Status": "Created"
}
}
Операция не требует подтверждения, результат подписи возвращён в ответе.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": "ea2eb4e5-dc7c-4c33-9b72-5efba3fd0f75",
"Result": {
"ProcessedDocuments": [
{
"RefId": "257c1cbb-6494-45ee-9a00-d55a63e5b703",
"OriginalRefId": "3a6629fa-5759-4d4a-8602-0df7ac8420aa",
"Status": "Completed"
}
]
},
"Status": "Completed"
}
}
Выполнение операции подписи
Метод предназначен для выполнения операции подписи документов после подтверждения.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | /v2/signature |
Параметры | Объект SignatureOperation, содержащий сведения об операции подписи. |
Возвращаемое значение | Объект OperationInfo, содержащий сведения о созданной операции. |
Для выполнения подтверждённой операции запрос отправляется на ту же конечную точку, что и при создании операции.
В теле запроса в структуре SignatureOperation
может быть заполнено только одно
поле PinCode
, если ПИН-код для доступа к ключу не требуется, то весь запрос
представляет из себя пустой JSON-объект.
Примеры запросов
Без передачи ПИН-кода для доступа к закрытому ключу сертификата.
POST /SignServer/rest/api/v2/signature HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{}
C передачей ПИН-кода для доступа к закрытому ключу сертификата.
POST /SignServer/rest/api/v2/signature HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ...
{
"Signature" :
{
"PinCode" : "1234567890"
}
}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Operation": {
"Id": "ea2eb4e5-dc7c-4c33-9b72-5efba3fd0f75",
"Result": {
"ProcessedDocuments": [
{
"RefId": "257c1cbb-6494-45ee-9a00-d55a63e5b703",
"OriginalRefId": "3a6629fa-5759-4d4a-8602-0df7ac8420aa",
"Status": "Completed"
}
]
},
"Status": "Completed"
}
}
Усовершенствование подписи
Метод предназначен для выполнения операции усовершенстования подписи документов.
Параметр | Значение |
---|---|
HTTP-метод | POST |
Путь | /v2/enhance |
Параметры | Объект EnhanceOperation, содержащий сведения об операции подписи. |
Возвращаемое значение | Объект OperationInfo, содержащий сведения о созданной операции. |
Данные (файл (-ы)) подписи могут быть переданы либо в параметре Content
в теле запроса, либо по ссылке на данные, загруженные в
Сервис Обработки Данных, в параметре BinaryData
.
При усовершенстовании подписи необходимо передать только файл подписи. При усовершенстовании отделённой CMS подписи передавать исходный документ не требуется.
Примеры запросов
Передача файла подписи по ссылке на Сервис Обработки Документов.
Запрос
POST /SignServer/rest/api/v2/enhance HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOi ... E_ZXZCN3OQ
Content-Length: 329
{
"BinaryData": [
{
"RefId": "7fea8173-95f6-48c9-af3b-a29cfce73547"
}
],
"Signature": {
"Type": "CMS",
"Parameters": {
"CADESType": "XLT1",
"IsDetached": "True",
"TSPAddress":"http://testca2012.cryptopro.ru/tsp/tsp.srf"
}
}
}
Ответ
{
"Operation": {
"Id": null,
"Result": {
"ProcessedDocuments": [
{
"RefId": "a67e6de5-3534-4a73-9a4b-7732d16d98c3",
"ContentInfo": null,
"OriginalRefId": "7fea8173-95f6-48c9-af3b-a29cfce73547",
"OriginalContentInfo": null,
"Content": null,
"Status": "Completed",
"Error": null,
"ErrorDescription": null
}
]
},
"Status": "Completed"
}
}
Передача файла подписи в теле запроса.
Запрос
POST /SignServer/rest/api/v2/enhance HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJK ... pdTTcAx_e4O4dQ
Content-Length: 4418
{
"Content":"MIAGCSqGSIb3DQEHAqCAMIACAQExD ... whFjF0ukXSisjZCSlE2rHc8ZsNtub0AAAAAAAA=",
"DocumentInfo":"sig.sig",
"Signature": {
"Type": "CMS",
"Parameters": {
"CADESType": "XLT1",
"IsDetached": "True",
"TSPAddress":"http://testca2012.cryptopro.ru/tsp/tsp.srf"
}
}
}
Ответ
{
"Operation": {
"Id": null,
"Result": {
"ProcessedDocuments": [
{
"RefId": "a350a2d4-dc86-4c6e-b1f7-52a5ea5a1456",
"ContentInfo": null,
"OriginalRefId": null,
"OriginalContentInfo": null,
"Content": null,
"Status": "Completed",
"Error": null,
"ErrorDescription": null
}
]
},
"Status": "Completed"
}
}
Получение результата усовершенствования в теле ответа.
Примечание
Параметр SuppressStoredResult
поддерживается в версиях КриптоПро DSS новее 2.0.4250.
Запрос
POST /SignServer/rest/api/v2/enhance HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiL ... qPNvqK_XgWg
Content-Length: 362
{
"BinaryData": [
{
"RefId": "7fea8173-95f6-48c9-af3b-a29cfce73547"
}
],
"Signature": {
"Type": "CMS",
"Parameters": {
"CADESType": "XLT1",
"IsDetached": "True",
"TSPAddress":"http://testca2012.cryptopro.ru/tsp/tsp.srf"
}
},
"SuppressStoredResult": true
}
Ответ
{
"Operation": {
"Id": null,
"Result": {
"ProcessedDocuments": [
{
"RefId": null,
"ContentInfo": null,
"OriginalRefId": "7fea8173-95f6-48c9-af3b-a29cfce73547",
"OriginalContentInfo": null,
"Content": "MIJ5cAYJKoZIhvcN ... F6iLyodFTnSyMkr",
"Status": "Completed",
"Error": null,
"ErrorDescription": null
}
]
},
"Status": "Completed"
}
}