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

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

    Внимание!

    Данная конечная точка работает только в режиме обратной совместимости и НЕ поддерживает подтверждение операций.

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

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

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

    Параметр Значение
    HTTP-метод POST
    Путь https://{{hostname}}/{{instanceName}}/api/requests
    Параметры CertificateRequest - Запрос на создание сертификата
    Возвращаемое значение DSSCertRequest - Созданный запрос на сертификат

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

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

    Параметр Значение
    HTTP-метод GET
    Путь https://{{hostname}}/{{instanceName}}/api/requests
    Параметры Метод не имеет параметров
    Возвращаемое значение List<DSSCertRequest> - Список созданных запросов на сертификат
    Примечание

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

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

    GET https://{{hostname}}/{{instanceName}}/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,
            "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,
            "DistName": "CN=idonly",
            "Subject": "idonly",
            "Status": "PENDING",
            "ID": 24,
            "CARequestID": null,
            "CertificateID": 0,
            "RequestType": "Certificate",
            "GroupID": "e8e67f9e-7eed-4116-ad98-20582e4d766e"
        }
    ]
    

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

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

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

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

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

    GET https://{{hostname}}/{{instanceName}}/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,
        "DistName": "CN=idonly",
        "Subject": "idonly",
        "Status": "PENDING",
        "ID": 24,
        "CARequestID": null,
        "CertificateID": 0,
        "RequestType": "Certificate",
        "GroupID": "e8e67f9e-7eed-4116-ad98-20582e4d766e"
    }
    

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

    Параметр Значение
    HTTP-метод DELETE
    Путь https://{{hostname}}/{{instanceName}}/api/requests/{req_id}
    Параметры Идентификатор запроса на сертификат
    Возвращаемое значение Метод не имеет возвращаемого значения
    Примечание

    Если запрос на сертификат с указанным идентификатором не найден, сервис вернет HTTP-код 200.

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

    DELETE https://{{hostname}}/{{instanceName}}/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://{{hostname}}/{{instanceName}}/api/requests/{req_id}/content?format={format}&authorityId={ca_id}
    Параметры req_id - Идентификатор запроса на сертификат
    format - Формат представления содержимого запроса.
    ca_id - Идентификатор Удостоверяющего Центра
    Возвращаемое значение Содержимое запроса на сертификат

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

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

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

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

    GET https://{{hostname}}/{{instanceName}}/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://{{hostname}}/{{instanceName}}/api/requests/revokerequests/{req_id}/content?format={format}&authorityId={ca_id}
    Параметры req_id - Идентификатор запроса на сертификат,
    format - Тип представления содержимого запроса,
    ca_id - Идентификатор Удостоверяющего Центра
    Возвращаемое значение Содержимое запроса на отзыв сертификата
    Примечание

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

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

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

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

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

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

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

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

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

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

    POST https://{{hostname}}/{{instanceName}}/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://{{hostname}}/{{instanceName}}/api/requests/revokerequests/{revreq_id}/status
    Параметры revreq_id - Идентификатор запроса в УЦ
    RequestStatus - Новый статус запроса на сертификат.
    Возвращаемое значение Метод не имеет возвращаемого значения

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

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

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

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

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

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

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

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