Show / Hide Table of Contents

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

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

    • Создание запроса на сертификат
    • Получение списка запросов на сертификат
    • Получение запроса на сертификат по идентификатору
    • Удаление запроса на сертификат по идентификатору
    • Получение содержимого запроса на сертификат
    • Одобрение и отклонение запроса на сертификат
    • Одобрение и отклонение запроса на отзыв/приостановление/восстановление

    Создание запроса на сертификат

    Параметр Значение
    HTTP-метод POST
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests
    Параметры CertificateRequest - Запрос на создание сертификата
    Возвращаемое значение DSSCertRequest - Созданный запрос на сертификат

    Подробнее о выпуске запроса на сертификат смотреть раздел: Выпуск сертификата

    Получение списка запросов на сертификат

    Параметр Значение
    HTTP-метод GET
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests
    Параметры Метод не имеет параметров
    Возвращаемое значение List<DSSCertRequest> - Список созданных запросов на сертификат
    Примечание

    Для получения списка запросов на отзыв/приостановление/восстановление используйте метод /certificates/{key}/revokerequests. Список запросов на отзыв, приостановление и восстановление сертификата может быть получен только для сертификата выпущенного через модуль интеграции с КриптоПро УЦ 2.0.

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

    GET https://host/SignServer/rest/api/requests HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV ... eFfe5CkkuKMQ
    

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

    HTTP/1.1 200 OK
    Content-Length: 1379
    Content-Type: application/json; charset=utf-8
    Server: Microsoft-IIS/7.5
    
    [{
            "CertificateType": "ServerSide",
            "Base64Request": "MIIBKTCB2QIBADARMQ8wDQ ... h7a6eLJ9axIe0vqaqhtWw==",
            "CertificateAuthorityID": 11,
            "CADisplayName": null,
            "DistName": "CN=idonly",
            "Subject": "idonly",
            "Status": "ACCEPTED",
            "ID": 23,
            "CARequestID": null,
            "CertificateID": 14,
            "RequestType": "Certificate",
            "GroupID": "e8e67f9e-7eed-4116-ad98-20582e4d766e"
        }, {
            "CertificateType": "ServerSide",
            "Base64Request": "MIIBKTCB2QIBADARMQ8wDQ ... BthH+U2Obfd9sbjGtE47YDeW+Ng==",
            "CertificateAuthorityID": 11,
            "CADisplayName": null,
            "DistName": "CN=idonly",
            "Subject": "idonly",
            "Status": "PENDING",
            "ID": 24,
            "CARequestID": null,
            "CertificateID": 0,
            "RequestType": "Certificate",
            "GroupID": "e8e67f9e-7eed-4116-ad98-20582e4d766e"
        }
    ]
    

    Получение запроса на сертификат по идентификатору

    Параметр Значение
    HTTP-метод GET
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests/{req_id}
    Параметры Идентификатор запроса на сертификат
    Возвращаемое значение DSSCertRequest - запрос на сертификат

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

    HTTP-код Ошибка Описание
    404 Запрос на сертификат с указанным ID не найден

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

    GET https://host/SignServer/rest/api/requests/24 HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJK ... ZIF89F4cmHc6kFM_QQXQ
    

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

    HTTP/1.1 200 OK
    Content-Length: 687
    Content-Type: application/json; charset=utf-8
    Server: Microsoft-IIS/7.5
    
    {
        "CertificateType": "ServerSide",
        "Base64Request": "MIIBKTCB2QIBADARMQ8wDQ ... TxlBthH+U2Obfd9sbjGtE47YDeW+Ng==",
        "CertificateAuthorityID": 11,
        "CADisplayName": null,
        "DistName": "CN=idonly",
        "Subject": "idonly",
        "Status": "PENDING",
        "ID": 24,
        "CARequestID": null,
        "CertificateID": 0,
        "RequestType": "Certificate",
        "GroupID": "e8e67f9e-7eed-4116-ad98-20582e4d766e"
    }
    

    Удаление запроса на сертификат по идентификатору

    Параметр Значение
    HTTP-метод DELETE
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests/{req_id}
    Параметры Идентификатор запроса на сертификат
    Возвращаемое значение Метод не имеет возвращаемого значения
    HTTP-код Ошибка Описание
    404 Запрос на сертификат с указанным ID не найден

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

    DELETE https://host/SignServer/rest/api/requests/27 HTTP/1.1
    Authorization: Bearer eyJ0eXAi ... RwvkYRac7AJuuX2aeY1H7fjpQ
    Host: host
    Content-Length: 0
    

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

    HTTP/1.1 200 OK
    Content-Length: 0
    Server: Microsoft-IIS/7.5
    

    Получение содержимого запроса на сертификат

    Метод предназначен для получения содержимого запроса на сертификат в различных представлениях:

    • PKCS#10
    • XML
    • Печатное представление (HTML)
    Параметр Значение
    HTTP-метод GET
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests/{req_id}/content?format={format}&authorityId={ca_id}
    Параметры req_id - Идентификатор запроса на сертификат
    format - Формат представления содержимого запроса.
    ca_id - Идентификатор Удостоверяющего Центра
    Возвращаемое значение Содержимое запроса на сертификат

    Описание форматов представления запроса на сертификат - DSSCertificateFormatEnum

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

    HTTP-код Ошибка Описание
    404 Запрос на сертификат с указанным ID не найден

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

    GET https://host/SignServer/rest/api/requests/24/content?format=4&authorityId=0 HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGci ... fBD3XvtOUkZOG6yZj1CNQ
    
    

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

    HTTP/1.1 200 OK
    Content-Length: 4535
    Content-Type: application/json; charset=utf-8
    Server: Microsoft-IIS/7.5
    
    "<?xml version=\"1.0\" encoding=\"utf-16\"?>
    <html xmlns:pki=\"http://www.cryptopro.ru/2001/Schema/WD1-PKI\">
        <head>
            <title>Запрос на сертификат X.509</title>
            <style>
                <!--\r\nH1\r\n{ \r\n\tfont-size: 10pt; \r\n\tfont-family: Verdana; \r\n\ttext-align: Center; \r\n\tmargin: 0px \r\n}\r\nH2\r\n{\r\n\tfont-size: 8pt; \r\n\tfont-family: Verdana; \r\n\ttext-align: Center; \r\n\tmargin: 0px \r\n}\r\n.foot        \r\n{ \r\n\tfont-size: 8pt; \r\n\tfont-family: Verdana; \r\n\ttext-align: Right \r\n}\r\n.note        \r\n{ \r\n\tfont-size: 7pt; \r\n\tfont-family: Verdana; \r\n\ttext-decoration: underline; \r\n\tmargin: 0px \r\n}\r\nP\r\n{\r\n    FONT-SIZE: 7pt;\r\n    MARGIN: 0px;\r\n    FONT-FAMILY: Verdana\r\n}\r\nPRE\r\n{\r\n    FONT-SIZE: 7pt;\r\n    MARGIN: 0px;\r\n    FONT-FAMILY: Verdana\r\n}\r\n-->
            </style>
        </head>
        <body>
            <h1>
                <b>Наименование организации-Удостоверяющего Центра</b>
            </h1>
            <h2>
                <b>Запрос на сертификат ключа проверки электронной подписи</b>
            </h2>
            <hr />
            <div style=\"margin-left:1em\">
                <p>
                    <b>Сведения о запросе на сертификат:</b>
                </p>
                <div style=\"margin-left:1em\">
                    <p>
                        <b>Кем выпущен:</b>
                    </p>
                    <div style=\"margin-left:1em\">
                        <p>idonly</p>
                    </div>
                </div>
            </div>
            <div style=\"margin-left:1em\">
                <p>
                    <b>Версия:</b> 1\r\n     (0x0)\r\n  </p><p>
                    <b>Субьект запроса на сертификат: </b>CN\r\n  =\r\n  idonly</p><p>
                    <b>Ключ проверки электронной подписи:</b>
                </p>
                <div style=\"margin-left:1em\">
                    <p>Алгоритм ключа проверки электронной подписи:</p>
                    <div style=\"margin-left:1em\">
                        <p>Название: \r\n    ГОСТ Р 34.10-2001</p>
                        <div style=\"margin-left:1em\">
                            <p> Параметры:\r\n      30 12 06 07 2a 85 03 02 02 24 00 06 07 2a 85 03 02 02 1e 01</p>
                        </div>
                    </div><p>Значение: \r\n    04 40 16 5b c3 2c c2 81 2d 76 d7 16 cf 05 71 62 ef cf 2b de d2 bb a4 8c 76 31 03 e9 3b c2 32 ca 7c 7c 61 ca 7f 88 b4 58 e1 81 f0 7a 74 33 59 15 67 10 4c 1d 57 88 7d 66 d9 d4 dc ea 5b 3b 97 09 e9 0a</p>
                </div><p>
                    <b>Атрибуты запроса на сертификат X.509</b>
                </p>
                <div style=\"margin-left:1em\">
                    <p>Название: \r\n    Расширения сертификатов</p><p>
                        <b>Расширения сертификата X.509</b>
                    </p>
                    <div style=\"margin-left:1em\">
                        <p>1.\r\n    Расширение </p>
                        <div style=\"margin-left:1em\">
                            <p>Название: \r\n    Использование ключа</p><p>Значение: \r\n    Цифровая подпись, Неотрекаемость, Шифрование ключей, Шифрование данных (f0)</p>
                        </div><p>2.\r\n    Расширение </p>
                        <div style=\"margin-left:1em\">
                            <p>Название: \r\n    Идентификатор ключа субъекта</p><p>Значение: \r\n    77 32 f2 d3 22 77 0d b6 72 06 d7 18 23 ad 2a 69 78 48 4c 78</p>
                        </div><p>3.\r\n    Расширение </p>
                        <div style=\"margin-left:1em\">
                            <p>Название: \r\n    Улучшенный ключ</p><p>Значение: \r\n    Пользователь Центра Регистрации, HTTP, TLS клиент (1.2.643.2.2.34.6), Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)</p>
                        </div>
                    </div><p>
                        <b>Подпись запроса:</b>
                    </p>
                    <div style=\"margin-left:1em\">
                        <p>Алгоритм подписи:</p>
                        <div style=\"margin-left:1em\">
                            <p>Название: \r\n    ГОСТ Р 34.11/34.10-2001</p>
                        </div><p>Значение: \r\n    36 BE E5 0D D8 8E 13 AD 31 6E 6C DF 7D 9B 63 53 FE 11 B6 41 19 4F FF DA 31 4A 0C 27 EE 4A D2 81 EE B1 42 82 55 EF 5E DA 00 08 26 DC 88 35 7E AD 98 13 EC B0 CA 5D D9 1C 33 C1 B3 89 3F C8 07 DD</p>
                    </div>
                </div>
            </div>
            <hr />
            <br />
            <p class=\"foot\">Подпись владельца запроса на сертификат: ___________/_______________</p>
            <br />
            <p class=\"foot\">\"___\" ________ 20__ г.</p>
            <br />
            <p class=\"foot\">М. П.</p><p>Средство электронной подписи \"КриптоПро CSP\"</p>
            <br />
            <p class=\"note\">Подписанный запрос на сертификат ключа проверки электронной подписи следует переслать по адресу:</p><p class=\"note\">111111, Москва, ул. ХХХХХХХХ, д.ХХ. XXXXXXXXXXXXXXXXXXXX</p><p class=\"note\">Администратору информационной безопасности.</p>
        </body>
    </html>"
    

    Получение содержимого запроса на отзыв/приостановление/восстановление

    Параметр Значение
    HTTP-метод GET
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests/revokerequests/{req_id}/content?format={format}&authorityId={ca_id}
    Параметры req_id - Идентификатор запроса на сертификат
    format - Тип предаставления содержимого запроса.
    ca_id - Идентификатор Удостоверяющего Центра
    Возвращаемое значение Содержимое запроса

    Описание форматов представления запроса на сертификат - DSSCertificateFormatEnum

    Примечание

    Список запрос на отзыв/приостановление/восстановление может быть получен только для сертификатов выпущенных через модуль интеграции с КриптоПро УЦ 2.0.

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

    HTTP-код Ошибка Описание
    404 Запрос на сертификат с указанным ID не найден

    Одобрение и отклонение запроса на сертификат

    Принятие/отклонение запроса на сертификат:

    Параметр Значение
    HTTP-метод PATCH
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests/{req_id}/status
    Параметры req_id - Идентификатор запроса на сертификат
    RequestStatus - Новый статус запроса на сертификат.
    Возвращаемое значение Метод не имеет возвращаемого значения
    HTTP-код Ошибка Описание
    401 Authorization has been denied for this request Пользователь не имеет разрешения на выполнение запроса
    Примечание

    Метод может быть вызван только пользователем с ролью Оператор DSS. Оператор DSS может принять или отклонить запросы на сертификаты созданные через модуль интеграции с КриптоПро УЦ 2.0. Запросы на сертификат созданные через Offline УЦ могут быть только отклонены.

    При отклонении/одобрении запроса на сертификат необходимо заполнить только поля Type и Value:

    • Поле Type имеет фиксированное значение 0 (Certificate).
    • Поле Value может принимать значения 4 (ACCEPTED) или 8 (REJECTED)

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

    POST https://host/SignServer/rest/api/requests/26/status HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1Qi ... Y3m5uZc59QwnD0BA
    Content-Type: application/json; charset=utf-8
    
    Content-Length: 39
    Expect: 100-continue
    
    {"Value":8,"ID":"-1","caID":0,"Type":0}
    

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

    HTTP/1.1 200 OK
    Content-Length: 0
    Server: Microsoft-IIS/7.5
    

    Принятие/отклонение запроса на отзыв/приостановление/восстановление:

    Параметр Значение
    HTTP-метод PATCH
    Путь https://dss.cryptopro.ru/SignServer/rest/api/requests/revokerequests/{revreq_id}/status
    Параметры revreq_id - Идентификатор запроса на отзыв/приостановление/восстановление в УЦ
    RequestStatus - Новый статус запроса на сертификат.
    Возвращаемое значение Метод не имеет возвращаемого значения

    В структруре RequestStatus необходимо заполнить поля:

    • Value - может принимать значения 4 (ACCEPTED) или 8 (REJECTED)
    • caID - идентификатор Удостоверяющего Центра
    • Type имеет фиксированное значение 0 (Certificate)
    • Comment (опциональное) - комментарий Оператора DSS. Например, причина отклонения запроса.

    Значение req_id необходимо взять их результата работы метода /certificates/{cert_id}/revokerequests - поле ID в структуре DSSRevRequest.

    Последовательность действие Оператора DSS при одобрении/отклонении запросов на отзыв/приостановление/восстановление:

    • получить список сертификатов пользователя /certificates/
    • для каждого из сертификатов пользователя проверить наличие запросов на отзыв/приостановление/восстановление /certificates/{cert_id}/revokerequests
    • если запрос DSSRevRequest имеет поле Status PENDING, то одобрить или отклонить его
    HTTP-код Ошибка Описание
    401 Authorization has been denied for this request Пользователь не имеет разрешения на выполнение запроса
    400 invalid_enroll Неверно указан идентификатор УЦ
    400 invalid_rev_request Неверно указан идентификатор запроса
    Примечание

    Метод может быть вызван только пользователем с ролью Оператор DSS. Оператор DSS может принять или отклонить запросы на отзыв/приостановление/восстановление созданные через модуль интеграции с КриптоПро УЦ 2.0.

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

    POST https://host/SignServer/rest/api/requests/revokerequests/6a5c8b4a-52c6-e811-80db-00155d454d12/status HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJHMD ... o9ju8CQuZneFapoL2q4CjUJAw
    Content-Type: application/json; charset=utf-8
    Host: host
    Content-Length: 39
    Expect: 100-continue
    
    {"Value":4,"ID":"-1","caID":6,"Type":0}
    

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

    HTTP/1.1 200 OK
    Content-Length: 0
    Server: Microsoft-IIS/7.5
    
    Back to top © ООО "КРИПТО-ПРО", 2000-2020