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

    Конечная точка Decryption и Encryption

    Конечные точки Decryption и Encryption предназначены для шифрования и расшифрования документов, а также создания операций расшифрования с подтверждением (v2 API).

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

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

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

    Поиск подходящих сертификатов для расшифрования

    Метод предназначен для поиска сертификатов Пользователя, подходящих для расшифрования переданного документа.

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

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

    POST /SignServer/api/v2/parse HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer eyJ...
    
    {
        "BinaryData": [{ 
            "RefId" : "1fbef03d-a2fe-43b9-a0d7-9b237142b15a" 
        }],
        "Type":"XML"
    } 
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {
        "Operation": {
            "Id": null,
            "Result": {
                "ParsedDocuments": [
                    {
                        "CertificateIds": [
                            2
                        ],
                        "Content": null,
                        "OriginalRefId": "1fbef03d-a2fe-43b9-a0d7-9b237142b15a",
                        "Status": null,
                        "Error": null,
                        "ErrorDescription": null
                    }
                ]
            },
            "Status": "Completed",
            "Error": null,
            "ErrorDescription": null,
            "ExpirationDate": 0
        }
    }
    

    Выполнение операции зашифрования

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

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

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

    POST /SignServer/api/v2/encryption HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer eyJ...
    
    {
        "BinaryData": [{ 
            "RefId" : "cc9938c9-b55e-460d-81c1-f40459259b7d" 
        }], 
        "Encryption":
            {
            "Type":"XML",
            "Certificates":[
                "MIIG0/...",
                "MIIG0...",
                "MIIG..." ]
            }
    }
    

    Пример ответа

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {
        "Operation": {
            "Id": null,
            "Result": {
                "ProcessedDocuments": [
                    {
                        "RefId": "1fbef03d-a2fe-43b9-a0d7-9b237142b15a",
                        "OriginalRefId": "cc9938c9-b55e-460d-81c1-f40459259b7d",
                        "Content": null,
                        "Status": "Completed",
                        "Error": null,
                        "ErrorDescription": null
                    }
                ]
            },
            "Status": "Completed",
            "Error": null,
            "ErrorDescription": null,
            "ExpirationDate": 0
        }
    }
    

    Создание операции расшифрования

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

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

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

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

    POST /SignServer/api/v2/decryption HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer eyJ...
    
    {
        "BinaryData": [{"RefId": "3a6629fa-5759-4d4a-8602-0df7ac8420aa"}],
        "Decryption" : 
        { 
            "Type": "CMS",
            "CertificateId": "0"        
        },
        "DocumentInfo":"Расшифрование документа"
    }
    

    Примеры ответов

    Операция требует подтверждения.

    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/decryption
    Параметры Объект DecryptionOperation, содержащий сведения об операции расшифрования.
    Возвращаемое значение Объект OperationInfo, содержащий сведения о созданной операции.

    Для выполнения подтвержденной операции запрос отправляется на ту же конечную точку, что и при создании операции.

    В теле запроса в структуре DecryptionOperation может быть заполнено только одно поле PinCode, если ПИН-код для доступа к ключу не требуется, то весь запрос представляет собой пустой JSON-объект.

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

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

    POST /SignServer/api/v2/decryption HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer eyJ...
    
    {}
    

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

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