Show / Hide Table of Contents

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

    Конечная точка /documents предоставляет следующие методы:

    • Подпись документа
    • Подпись пакета документов
    • Зашифрование документа
    • Расшифрование документа
    • Разбор зашифрованного документа
    • Усовершенствование подписи
    • хэширование документа

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

    Подпись одного документа

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/api/documents
    Параметры Document - Информация о документе
    Возвращаемое значение string - Подписанный документ в кодировке Base64

    Типовые ошибки

    HTTP-код Ошибка Описание
    400 invalid_signature_params Неверно указаны параметры подписи
    400 invalid_certificate Указан неверный идентификатор сертификата
    400 invalid_pin Указан неверный ПИН-код
    400 content_required Не передан документ для подписания
    500 An error has occurred Внутренняя ошибка сервера
    Примечание

    Одной из причин ошибки HTTP 500 может быть несоответствие формата документа и формата подписи. Например, для подписи формата PDF отправлен текстовый документ.

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

    Запрос

    POST https://host/SignServer/rest/api/documents HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGc ... Y9AEWNCMQxHiug
    Content-Type: application/json; charset=utf-8
    Host: host
    Content-Length: 143
    Expect: 100-continue
    
    {
        "Content": "AQ==",
        "Signature": {
            "Type": 2,
            "Parameters": {
                "CADESType": "BES",
                "IsDetached": "true"
            },
            "CertificateId": 14,
            "PinCode": ""
        }
    }
    

    Ответ

    HTTP/1.1 200 OK
    Content-Length: 1922
    Content-Type: application/json; charset=utf-8
    
    "MIIFmgYJKoZIhvcNA ... YYxySjbyyJJg=="
    

    Подпись пакета документов

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/api/documents/packagesignature
    Параметры DocumentPackage - Пакет документов
    Возвращаемое значение DSSSignDocumentResponse - Результат подписание пакета докуметов

    Результатом выполнения метода является структура DSSSignDocumentResponse, содержащая список подписанных документов. Порядок подписанных документов соответствует порядку документов, переданных в запросе.

    Если при подписании одного или нескольких документов возникли ошибки, то в ответе сервиса в поле Results на соответствующей позиции будет выставлено значение null, а в поле Error на соответствующей позиции будет сообщение об ошибке.

    При создании пакетной отделённой соподписи (как самого документа, так и его хэш-значения) содержимое исходного документа (или его хэш-значение) передаётся через структуру DocumentContent (в поле OriginalContent), параметр OriginalDocument не используется.

    Типовые ошибки

    HTTP-код Ошибка Описание
    400 invalid_signature_params Неверно указаны параметры подписи
    400 invalid_certificate Указан неверный идентификатор сертификата
    400 invalid_pin Указан неверный ПИН-код
    400 content_required Не передан документ для подписания
    500 An error has occurred Внутренняя ошибка сервера
    Примеры запросов

    Запрос

    POST https://host/SignServer/rest/api/documents/packagesignature HTTP/1.1
    Authorization: Bearer eyJ0eXAiOi ... P9RY0lwn-r5HGc7ZyTQ
    Content-Type: application/json; charset=utf-8
    Host: host
    Content-Length: 217
    Expect: 100-continue
    
    
    {
        "Documents": [{
                "Content": "AQ=="
            }, {
                "Content": "Ag=="
            }, {
                "Content": "Aw=="
            }
        ],
        "Signature": {
            "Type": 2,
            "Parameters": {
                "CADESType": "BES",
                "IsDetached": "true"
            },
            "CertificateId": 14,
            "PinCode": ""
        }
    }
    

    Ответ

    HTTP/1.1 200 OK
    Content-Length: 5772
    Content-Type: application/json; charset=utf-8
    
    {
        "Results": ["JCBsXwo7P7ZZ5Qt568GTmnLZXdoI8xICKGrM6le9WzIC+v3JGGyewvQM3uXhEAUgdOLhBf9GjZyocK488POYrw==", 
        "G2JTqRXlouM/tDxCN2Ja8ozwRdYp1OeVY5cyfrAdRT27vGeJlagJCO0DgTbBeWsVFTctufkbdpqfIeSsmNiNiQ==", 
        "4csaHBAmFecNCTAlg5beoGj465zjlGZkG4QkeM1D+zcs1TgqBm38uJlTOcfcRyziw1RKqelCwH6EidpDqIzsmg=="],
        "Errors": [null, null, null]
    }
    

    Зашифрование документа

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/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://dss.cryptopro.ru/SignServer/rest/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+"
    

    Расшифрование документа

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/api/documents/decrypt
    Параметры Document - Информация о документе
    Возвращаемое значение DSSDecryptDocumentResponse - Расшифрованный документ в кодировке Base64
    Примечание

    В структуре Document должно быть заполнено поле Decryption

    Метод /decrypt/parse должен быть использован, если пользователь не знает заранее идентификатор сертификата для расшифрования. Результатом работы метода будет список идентификаторов сертификатов пользователя.

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/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://dss.cryptopro.ru/SignServer/rest/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]
    

    Запрос на расшифрование

    POST https://dss.cryptopro.ru/SignServer/rest/api/documents/decrypt HTTP/1.1
    Authorization: Bearer eyJ0eXAiOi ... P9RY0lwn-r5HGc7ZyTQ
    Content-Type: application/json; charset=utf-8
    Host: host
    Content-Length: 3599
    
    {
        "Content": "PEVuY3J5 ... J5ZERhdGE+",
        "Decryption": {
            "Type": 1,
            "CertificateId": 680
        }
    }
    

    Ответ

    HTTP/1.1 200 OK
    Content-Length: 67
    Content-Type: application/json; charset=utf-8
    
    "PHJvb3Q+P ... ZT48L3Jvb3Q+"
    

    Усовершенствование подписи

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/api/documents/enhancesignature
    Параметры Document - Информация о документе
    Возвращаемое значение string - Подписанный документ в кодировке Base64
    Примечание

    В структуре Document должно быть заполнено поле Signature

    Типовые ошибки

    HTTP-код Ошибка Описание
    400 invalid_signature_params Неверно указаны параметры подписи
    400 content_required Не передан документ для подписания
    500 An error has occurred Внутренняя ошибка сервера
    Примеры запросов

    Запрос

    Ответ

    Хэширование документа

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/api/documents/hash
    Параметры Document - Информация о документе
    Возвращаемое значение string - Хэш-значение документа в кодировке Base64
    Примечание

    Хэширование документа работает только в поточном режиме. Подробнее о поточной обработке данных см. Потоковая обработка

    Back to top © ООО "КРИПТО-ПРО", 2000-2020