Показать/Скрыть содержание

    Конечная точка Signature

    Конечная точка Signature предназначена для создания операций подписи документов (v2 API).

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

    Документы для обработки могут быть переданы как в теле запроса (BinaryData -> Content), так и по ссылке (BinaryData -> RefId). В поле RefId передается идентификатор документа загруженного в Сервис Обработки Документов.

    Создание операции подписи

    Метод предназначен для создания операции подписи документов.

    Параметр Значение
    HTTP-метод POST
    Путь /v2/signature
    Параметры Объект SignatureOperation, содержащий сведения об операции подписи.
    Возвращаемое значение Объект OperationInfo, содержащий сведения о созданной операции.

    Если операция подписи требует подтверждения, то поле Status будет содержать значение Created, иначе Completed.

    Пример запроса

    POST /SignServer/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/api/v2/signature HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer eyJ...
    
    {}
    

    C передачей ПИН-кода для доступа к закрытому ключу сертификата.

    POST /SignServer/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/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/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"
        }
    }
    

    Получение результата усовершенствования в теле ответа.

    Запрос

    POST /SignServer/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"
        }
    }
    
    В начало © ООО "КРИПТО-ПРО", 2000–2025