Конечная точка Certificates
Конечная точка certificates предоставляет следующие методы:
- Получение списка сертификатов
- Получение сертификата по идентификатору
- Удаление сертификата по идентификатору
- Получение содержимого сертификата
- Получение списка запросов на аннулирование/приостановление/возобновление
- Установка сертификата
Изменение свойств сертификата:
- Смена ПИН-кода
- Валидация ПИН-кода
- Назначение сертификата по умолчанию
- Назначение дружественного имени
Изменение статуса сертитификата:
Получение списка сертификатов
| Параметр | Значение | 
|---|---|
| HTTP-метод | GET | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates | 
| Параметры | Метод не имеет параметров | 
| Возвращаемое значение | List<DSSCertificateEx> - Список сертификатов | 
Пример запроса
GET https://host/SignServer/rest/api/certificates HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV ... eFfe5CkkuKMQ
Пример ответа
HTTP/1.1 200 OK
Content-Length: 4272
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
[{
        "CertificateType": "ServerSide",
        "ID": 14,
        "DName": "CN=idonly",
        "CertificateBase64": "MIIDCDCCA ... ugFV8td4DaneG2/gno7T6Alohp6CF/yOu",
        "Status": {
            "Value": "ACTIVE",
            "RevocationInfo": null,
            "PinCode": null,
            "ActiveCertId": 0
        },
        "IsDefault": false,
        "CertificateAuthorityID": 11,
        "CspID": "e8e67f9e-7eed-4116-ad98-20582e4d766e",
        "HashAlgorithms": ["GOST R 34.11-94"],
        "ProviderName": null,
        "ProviderType": 0,
        "PrivateKeyNotBefore": null,
        "PrivateKeyNotAfter": null,
        "HasPin": false,
        "FriendlyName": ""
    }, {
        "CertificateType": "ServerSide",
        "ID": 15,
        "DName": "CN=idonly, C=RU",
        "CertificateBase64": "MIIG+TCCBq ... dJkhC/rkJrBYhT574WAMgGdxGQb1lQ==",
        "Status": {
            "Value": "ACTIVE",
            "RevocationInfo": null,
            "PinCode": null,
            "ActiveCertId": 0
        },
        "IsDefault": false,
        "CertificateAuthorityID": 6,
        "CspID": "e8e67f9e-7eed-4116-ad98-20582e4d766e",
        "HashAlgorithms": ["GOST R 34.11-94"],
        "ProviderName": null,
        "ProviderType": 0,
        "PrivateKeyNotBefore": null,
        "PrivateKeyNotAfter": null,
        "HasPin": false,
        "FriendlyName": ""
    }
]
Получение сертификата по идентификатору
| Параметр | Значение | 
|---|---|
| HTTP-метод | GET | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id} | 
| Параметры | cert_id - идентификатор сертификата | 
| Возвращаемое значение | DSSCertificateEx - Сертификат | 
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | 
Пример запроса
GET https://host/SignServer/rest/api/certificates/14 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV ... eFfe5CkkuKMQ
Пример ответа
HTTP/1.1 200 OK
Content-Length: 1458
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
{
    "CertificateType": "ServerSide",
    "ID": 14,
    "DName": "CN=idonly",
    "CertificateBase64": "MIIDCDCCAregAwIBAgITEgAtlI ... hYHzugFV8td4DaneG2/gno7T6Alohp6CF/yOu",
    "Status": {
        "Value": "ACTIVE",
        "RevocationInfo": null,
        "PinCode": null,
        "ActiveCertId": 0
    },
    "IsDefault": false,
    "CertificateAuthorityID": 11,
    "CspID": "e8e67f9e-7eed-4116-ad98-20582e4d766e",
    "HashAlgorithms": ["GOST R 34.11-94"],
    "ProviderName": null,
    "ProviderType": 0,
    "PrivateKeyNotBefore": null,
    "PrivateKeyNotAfter": null,
    "HasPin": false,
    "FriendlyName": ""
}
Удаление сертификата по идентификатору
| Параметр | Значение | 
|---|---|
| HTTP-метод | DELETE | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id} | 
| Параметры | cert_id - Идентификатор сертификата | 
| Возвращаемое значение | Метод не имеет возвращаемого значения | 
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | 
Пример запроса
DELETE https://host/SignServer/rest/api/certificates/14 HTTP/1.1
Authorization: Bearer eyJ0eXAi ... RwvkYRac7AJuuX2aeY1H7fjpQ
Host: host
Content-Length: 0
Получение содержимого сертификата
| Параметр | Значение | 
|---|---|
| HTTP-метод | GET | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/content?format={format} | 
| Параметры | req_id - Идентификатор сертификата format - Формат представления содержимого сертификата. | 
| Возвращаемое значение | Содержимое сертификата | 
Описание форматов представления сертификата - DSSCertificateFormatEnum
Типовые ошибки
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Сертификат с указанным ID не найден | 
Пример запроса
GET https://host/SignServer/rest/api/certificates/14/content?format=2 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLC ... LgtvjC0-2GA0Kth2ZnorIoiA
Host: host
Пример ответа
HTTP/1.1 200 OK
Content-Length: 5571
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
"<?xml version=\"1.0\" encoding=\"utf-16\"?>
<pki:certificate xmlns:pki=\"http://www.cryptopro.ru/2001/Schema/WD1-PKI\">
    <pki:version pki:value=\"2\">3</pki:version>
    <pki:serial-number>12002D94874E4BA91F129E408D0000002D9487</pki:serial-number>
    <pki:issuer pki:count=\"5\">
        <pki:rdn pki:order=\"5\" pki:count=\"1\">
            <pki:rdn-attr pki:order=\"1\" pki:id=\"2.5.4.3\">
                <pki:name xml:lang=\"ru\">CN</pki:name>
                <pki:value pki:lang=\"ru\">CRYPTO-PRO Test Center 2</pki:value>
            </pki:rdn-attr>
        </pki:rdn>
        <pki:rdn pki:order=\"4\" pki:count=\"1\">
            <pki:rdn-attr pki:order=\"1\" pki:id=\"2.5.4.10\">
                <pki:name xml:lang=\"ru\">O</pki:name>
                <pki:value pki:lang=\"ru\">CRYPTO-PRO LLC</pki:value>
            </pki:rdn-attr>
        </pki:rdn>
        <pki:rdn pki:order=\"3\" pki:count=\"1\">
            <pki:rdn-attr pki:order=\"1\" pki:id=\"2.5.4.7\">
                <pki:name xml:lang=\"ru\">L</pki:name>
                <pki:value pki:lang=\"ru\">Moscow</pki:value>
            </pki:rdn-attr>
        </pki:rdn>
        <pki:rdn pki:order=\"2\" pki:count=\"1\">
            <pki:rdn-attr pki:order=\"1\" pki:id=\"2.5.4.6\">
                <pki:name xml:lang=\"ru\">C</pki:name>
                <pki:value pki:lang=\"ru\">RU</pki:value>
            </pki:rdn-attr>
        </pki:rdn>
        <pki:rdn pki:order=\"1\" pki:count=\"1\">
            <pki:rdn-attr pki:order=\"1\" pki:id=\"1.2.840.113549.1.9.1\">
                <pki:name xml:lang=\"ru\">E</pki:name>
                <pki:value pki:lang=\"ru\">support@cryptopro.ru</pki:value>
            </pki:rdn-attr>
        </pki:rdn>
    </pki:issuer>
    <pki:validity>
        <pki:notBefore>27.09.2018 19:08:26</pki:notBefore>
        <pki:notAfter>27.12.2018 19:18:26</pki:notAfter>
    </pki:validity>
    <pki:subject pki:count=\"1\">
        <pki:rdn pki:order=\"1\" pki:count=\"1\">
            <pki:rdn-attr pki:order=\"1\" pki:id=\"2.5.4.3\">
                <pki:name xml:lang=\"ru\">CN</pki:name>
                <pki:value pki:lang=\"ru\">idonly</pki:value>
            </pki:rdn-attr>
        </pki:rdn>
    </pki:subject>
    <pki:subject-public-key-info>
        <pki:public-key-algorithm>
            <pki:algorithm pki:id=\"1.2.643.2.2.19\">
                <pki:name xml:lang=\"ru\">ГОСТ Р 34.10-2001</pki:name>
            </pki:algorithm>
            <pki:parameters>
                <![CDATA[30 12 06 07 2a 85 03 02 02 24 00 06 07 2a 85 03 02 02 1e 01]]>
            </pki:parameters>
        </pki:public-key-algorithm>
        <pki:subject-public-key>
            <pki:value>
                <![CDATA[04 40 d6 c4 15 66 c2 a5 22 53 38 65 5c 0d 20 60 81 a8 84 fb 21 b0 ea 13 23 e6 cf 6f de 7c 58 64 12 de 72 34 c6 44 4c cd bd a0 d6 d4 f6 63 11 ba b0 f7 5d db 57 7b 58 af 6f 99 4b 57 da de 88 99 88 40]]>
            </pki:value>
        </pki:subject-public-key>
    </pki:subject-public-key-info>
    <pki:extensions pki:count=\"6\">
        <pki:extension pki:order=\"1\" pki:critical=\"no\" id=\"2.5.29.15\">
            <pki:name xml:lang=\"ru\">Использование ключа</pki:name>
            <pki:value xml:lang=\"ru\">
                <![CDATA[Цифровая подпись, Неотрекаемость, Шифрование ключей, Шифрование данных (f0)]]>
            </pki:value>
        </pki:extension>
        <pki:extension pki:order=\"2\" pki:critical=\"no\" id=\"2.5.29.14\">
            <pki:name xml:lang=\"ru\">Идентификатор ключа субъекта</pki:name>
            <pki:value xml:lang=\"ru\">
                <![CDATA[fb e3 98 a8 fd 82 3b ea c7 90 df d9 67 11 7a 64 a5 80 c7 b6]]>
            </pki:value>
        </pki:extension>
        <pki:extension pki:order=\"3\" pki:critical=\"no\" id=\"2.5.29.37\">
            <pki:name xml:lang=\"ru\">Улучшенный ключ</pki:name>
            <pki:value xml:lang=\"ru\">
                <![CDATA[Пользователь Центра Регистрации, HTTP, TLS клиент (1.2.643.2.2.34.6), Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)]]>
            </pki:value>
        </pki:extension>
        <pki:extension pki:order=\"4\" pki:critical=\"no\" id=\"2.5.29.35\">
            <pki:name xml:lang=\"ru\">Идентификатор ключа центра сертификатов</pki:name>
            <pki:value xml:lang=\"ru\">
                <![CDATA[Идентификатор ключа=15 31 7c b0 8d 1a de 66 d7 15 9c 49 52 97 17 24 b9 01 7a 83]]>
            </pki:value>
        </pki:extension>
        <pki:extension pki:order=\"5\" pki:critical=\"no\" id=\"2.5.29.31\">
            <pki:name xml:lang=\"ru\">Точки распространения списков отзыва (CRL)</pki:name>
            <pki:value xml:lang=\"ru\">
                <![CDATA[[1]Точка распределения списка отзыва (CRL): Имя точки распространения:Полное имя:URL=http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl]]>
            </pki:value>
        </pki:extension>
        <pki:extension pki:order=\"6\" pki:critical=\"no\" id=\"1.3.6.1.5.5.7.1.1\">
            <pki:name xml:lang=\"ru\">Доступ к информации о центрах сертификации</pki:name>
            <pki:value xml:lang=\"ru\">
                <![CDATA[[1]Доступ к сведениям центра сертификации: метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2), дополнительное имя=URL=http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt, [2]Доступ к сведениям центра сертификации: метод доступа=Протокол определения состояния сертификата через сеть (1.3.6.1.5.5.7.48.1), дополнительное имя=URL=http://testca.cryptopro.ru/ocsp/ocsp.srf]]>
            </pki:value>
        </pki:extension>
    </pki:extensions>
    <pki:signed-content>
        <pki:signature-algorithm>
            <pki:algorithm pki:id=\"1.2.643.2.2.3\">
                <pki:name xml:lang=\"ru\">ГОСТ Р 34.11/34.10-2001</pki:name>
            </pki:algorithm>
        </pki:signature-algorithm>
        <pki:signature-value>
            <pki:value pki:unused-bits=\"0\">
                <![CDATA[AE 23 FF 85 A0 A7 21 5A 02 FA B4 A3 27 F8 DB 86 77 6A 03 DE B5 7C 55 80 EE 7C 60 E1 60 57 FC 15 BB 11 22 F9 E6 B9 C9 F0 45 32 33 70 FA F7 3D B2 2E 11 5C 92 92 B6 0E CB B0 B3 C0 21 27 06 58 F5]]>
            </pki:value>
        </pki:signature-value>
    </pki:signed-content>
</pki:certificate>"
Получение списка запросов на аннулирование/приостановление/возобновление
| Параметр | Значение | 
|---|---|
| HTTP-метод | GET | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/revokerequests | 
| Параметры | cert_id - идентификатор сертификата | 
| Возвращаемое значение | List<DSSRevRequest> - Список сертификатов | 
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | 
Пример запроса
GET https://host/SignServer/rest/api/certificates/15/revokerequests HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi ... FQKc8WFHkugEg
Host: host
Пример ответа
HTTP/1.1 200 OK
Content-Length: 4263
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
[{
        "Base64Request": "MIILTAYJKoZIhvcNAQcCoIILPTC ... SPQVB97aK36gqswNYKW3X8NGRK0li+Q==",
        "ID": "6a5c8b4a-52c6-e811-80db-00155d454d12",
        "CertificateAuthorityID": 6,
        "Status": "PENDING",
        "RevInfo": {
            "RevocationReason": "CRL_REASON_CERTIFICATE_HOLD",
            "RevocationDate": "0001-01-01T00:00:00",
            "RevocationComments": "",
            "UnholdDate": "2018-10-25T14:48:00",
            "DistName": null,
            "RequestDate": "2018-10-02T14:48:59",
            "ApproveDate": "0001-01-01T00:00:00",
            "UnholdAction": "U",
            "SignedRequest": null
        }
    }
]
Установка сертификата
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates | 
| Параметры | certificate - BASE64-содержимое сертификата | 
| Возвращаемое значение | DSSCertificate - Сертификат пользователя | 
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 400 | request_not_found | Не найден соответствующий сертификату запрос | 
| 400 | invalid_certificate_format | Некорректный формат входных данных | 
| 400 | appropriate_enroll_not_found | Не найден соответствующий обработчик УЦ | 
| 400 | invalid_request_status | Соответствующий запрос не находится в состоянии "Обрабатывается" | 
Пример запроса
POST https://host/SignServer/rest/api/certificates/ HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJh ... 8TElfEktxVFCuR27tUg
Content-Type: application/json; charset=utf-8
Host: host
Expect: 100-continue
{"certificate":"MIIC/jCCAq2gAwIBAgITEgAv ..."}
Пример ответа
HTTP/1.1 200 OK
Content-Length: 4263
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
[{
    "CertificateType": "ServerSide",
    "ID": 2,
    "DName": "CN=Test1",
    "CertificateBase64": "MIIC/jCCAq2gAwIBAgITEgAvWSQcF1NFyPSX5AAAAC9ZJDAIBgYqhQMCAgMwfzEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMQ8wDQYDVQQHEwZNb3Njb3cxFzAVBgNVBAoTDkNSWVBUTy1QUk8gTExDMSEwHwYDVQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVyIDIwHhcNMTgxMTE5MTE0NjAyWhcNMTkwMjE5MTE1NjAyWjAQMQ4wDAYDVQQDEwVUZXN0MTBjMBwGBiqFAwICEzASBgcqhQMCAiQABgcqhQMCAh4BA0MABEB0PKbSC4qOptWM6iNj+1RSP2KKQEPgJlL+AmbAS01b8+19ztSwPzLzeWcxssHPU34Bkt5JMDbS71yn/1pgAtiTo4IBbTCCAWkwCwYDVR0PBAQDAgTwMB0GA1UdDgQWBBTKDKIrDj/kAdg4a5d6mQBadkDXkTATBgNVHSUEDDAKBggqhQMCAi4ACDAfBgNVHSMEGDAWgBQVMXywjRreZtcVnElSlxckuQF6gzBZBgNVHR8EUjBQME6gTKBKhkhodHRwOi8vdGVzdGNhLmNyeXB0b3Byby5ydS9DZXJ0RW5yb2xsL0NSWVBUTy1QUk8lMjBUZXN0JTIwQ2VudGVyJTIwMi5jcmwwgakGCCsGAQUFBwEBBIGcMIGZMGEGCCsGAQUFBzAChlVodHRwOi8vdGVzdGNhLmNyeXB0b3Byby5ydS9DZXJ0RW5yb2xsL3Rlc3QtY2EtMjAxNF9DUllQVE8tUFJPJTIwVGVzdCUyMENlbnRlciUyMDIuY3J0MDQGCCsGAQUFBzABhihodHRwOi8vdGVzdGNhLmNyeXB0b3Byby5ydS9vY3NwL29jc3Auc3JmMAgGBiqFAwICAwNBAFPsyyX3s39AVo786Fuc/jYmaFG7y/RUEPygviWtygbbl9Ix9h3qo5Sh7XOT/PIyEVC13/9DnP4wtBffEh2tHvg=",
    "Status": {
        "Value": "ACTIVE",
        "RevocationInfo": null,
        "PinCode": null,
        "ActiveCertId": 0
    },
    "IsDefault": false,
    "CertificateAuthorityID": 11,
    "CspID": "332101a9-4aca-4f89-94fc-9eb771b2588c",
    "HashAlgorithms": [
        "GOST R 34.11-94"
    ],
    "ProviderName": null,
    "ProviderType": 0,
    "PrivateKeyNotBefore": null,
    "PrivateKeyNotAfter": null,
    "HasPin": false,
    "FriendlyName": ""
}
]
Смена ПИН-кода
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/pin | 
| Параметры | cert_id - идентификатор сертификата PinInfo - данные для смены ПИН-кода | 
| Возвращаемое значение | Метод не имеет возвращаемого значения | 
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | |
| 400 | invalid_pin | Неверно введен текущий ПИН-код | 
Пример запроса
POST https://host/SignServer/rest/api/certificates/15/pin HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiL ... 0jbCsDg7nx9Raz4KhIP6FrowzA
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 66
Expect: 100-continue
{"OldPin":"","NewPin":"1234"}
Пример ответа
HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/7.5
Валидация ПИН-кода
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/pin/check | 
| Параметры | cert_id - идентификатор сертификата ValidatePinRequest - Запрос на валидацию ПИН-кода | 
| Возвращаемое значение | В случае, если ValidatePinRequest содержит CheckAttempts со значением true, возвращает объект ValidatePinResultВ противном случае возвращается bool значение, сообщающее о том, завершилась ли валидация успешно. | 
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | 
Пример запроса
POST /SignServer/rest/api/certificates/5/pin/check HTTP/1.1
Content-Type: application/json; charset=utf-8
Authorization: Bearer eyJ0eXA...
cache-control: no-cache
{"CheckAttempts":true,"pin":"1234"}
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Thu, 14 Mar 2019 13:18:44 GMT
Content-Length: 64
{"IsValid":false,"ErrorDescription":"key_blocked","Remaining":0}
Назначение сертификата по умолчанию
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/default | 
| Параметры | cert_id - идентификатор сертификата DefaultProperty - Данные для назначения сертификата по умолчанию | 
| Возвращаемое значение | Метод не имеет возвращаемого значения | 
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | 
Пример запроса
POST https://host/SignServer/rest/api/certificates/15/default HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJh ... 8TElfEktxVFCuR27tUg
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 16
Expect: 100-continue
{"Default":true}
Пример ответа
HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/7.5
Назначение дружественного имени
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/friendlyname | 
| Параметры | cert_id - идентификатор сертификата FriendlyNameProperty - Данные для назначения дружественного имени | 
| Возвращаемое значение | Метод не имеет возвращаемого значения | 
Примечание
Дружественное имя должно быть уникально среди всех сертификатов пользователя.
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | |
| 400 | duplicate_friendly_name | Указанное дружественно имя уже назначено | 
| 400 | invalid_frinendly_name_length | Длина дружественного имени больше 255 символов | 
Пример запроса
POST https://host/SignServer/rest/api/certificates/15/friendlyname HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJK ... d0KhU_-Qz8jgDFlcfU_RMA
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 32
Expect: 100-continue
{"FriendlyName":"Friendly Name"}
Пример ответа
HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/7.5
Аннулирование
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/status | 
| Параметры | cert_id - идентификатор сертификата CertificateStatus - параметры аннулирования сертификата | 
| Возвращаемое значение | Метод не имеет возвращаемого значения | 
При аннулировании сертификата в поле Value должно быть указано значение 2 (REVOKED)
В структуре RevocationInfo необходимо заполнить:
- RevocationReason- причину аннулирования сертификата CertRevokeReasonEnum
- RevocationDate(опционально) - дату аннулирования, если требуется аннулировать сертификат в будущем
- RevocationComments(опционально) - комментарий
Формат даты RevocationDate - yyyy-MM-dd hh:mm:ss (0001-01-01 00:00:00) или yyyy-MM-ddThh:mm:ss (0001-01-01T00:00:00).
Запрос на аннулирование может быть подписан действующим сертификатом пользователя. В этом случае необходимо заполнить поля
ActiveCertId и PinCode.
Примечание
Подпись запросов на аннулирование/приостановление/возобновление возможна только если в настройках модуля интеграции с УЦ 2.0 выставлен флаг AllowUserMode. Настройку должен выполнить Администратор DSS.
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | |
| 500 | Сертификат уже был отозван. Внутренняя ошибка сервиса | |
| 400 | invalid_parameters | Невалидные параметры запроса | 
| 400 | invalid_certificate_status | Повторное аннулирование сертификата | 
Пример запроса
POST https://host/SignServer/rest/api/certificates/16/status HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ ... VCgDbAc5XLyjt0pwkET7I2fg
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 228
Expect: 100-continue
{
    "Value": 2,
    "RevocationInfo": {
        "RevocationReason": 1,
       "RevocationComments":"Comment"
    }
}
Запрос с указанием даты аннулирования:
POST https://host/SignServer/rest/api/certificates/16/status HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJ ... VCgDbAc5XLyjt0pwkET7I2fg
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 228
Expect: 100-continue
{
    "Value": 2,
    "RevocationInfo": {
        "RevocationReason": 1,
       "RevocationComments":"Comment",
       "RevocationDate":"2018-10-05T12:58"
    }
}
Пример ответа
HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/7.5
Приостановление
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/status | 
| Параметры | cert_id - идентификатор сертификата CertificateStatus - параметры аннулирования сертификата | 
| Возвращаемое значение | Метод не имеет возвращаемого значения | 
При аннулировании сертификата в поле Value должно быть указано значение 3 (HOLD)
В запросе необходимо указать:
- UnholdDate- дату возобновления сертификата
- UnholdAction- причину аннулирования, которая будет указана в CRL, если сертификат не будет возобновлен до даты- UnholdDate(CertRevokeReasonEnum).
- RevocationComments(опционально) - комментарий
Если требуется приостановить сертификат в будущем, то необходимо указать значение поля RevocationDate.
Формат даты RevocationDate - yyyy-MM-dd hh:mm:ss (0001-01-01 00:00:00) или yyyy-MM-ddThh:mm:ss (0001-01-01T00:00:00).
Запрос на аннулирование может быть подписан действующим сертификатом пользователя. В этом случае необходимо заполнить поля
ActiveCertId и PinCode.
Примечание
Подпись запросов на аннулирование/приостановление/возобновление возможна только если в настройках модуля интеграции с УЦ 2.0 выставлен флаг AllowUserMode. Настройку должен выполнить Администратор DSS.
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | |
| 400 | invalid_parameters | Невалидные параметры запроса | 
| 400 | invalid_certificate_status | Повторное аннулирование сертификата | 
Пример запроса
POST https://host/SignServer/rest/api/certificates/19/status HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLC ... vZdqvGkG431UxNH0EA
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 278
Expect: 100-continue
{
    "Value": 3,
    "RevocationInfo": {
        "RevocationComments": "Comment",
        "UnholdDate": "2018-10-12T12:13:58",        
        "UnholdAction": "0"
    },
    "ActiveCertId": 0
}
Пример ответа
HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/7.5
Возобновление
| Параметр | Значение | 
|---|---|
| HTTP-метод | POST | 
| Путь | https://dss.cryptopro.ru/SignServer/rest/api/certificates/{cert_id}/status | 
| Параметры | cert_id - идентификатор сертификата CertificateStatus - параметры аннулирования сертификата | 
| Возвращаемое значение | Метод не имеет возвращаемого значения | 
При аннулировании сертификата в поле Value должно быть указано значение 1 (ACTIVE)
Запрос на аннулирование может быть подписан действующим сертификатом пользователя. В этом случае необходимо заполнить поля
ActiveCertId и PinCode.
Примечание
Подпись запросов на аннулирование/приостановление/возобновление возможна только если в настройках модуля интеграции с УЦ 2.0 выставлен флаг AllowUserMode. Настройку должен выполнить Администратор DSS.
| HTTP-код | Ошибка | Описание | 
|---|---|---|
| 404 | Cертификат с указанным ID не найден | 
Пример запроса
POST https://host/SignServer/rest/api/certificates/19/status HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Qi ... ZkmjxmKuKej6f2Cyhg
Content-Type: application/json; charset=utf-8
Host: host
Content-Length: 245
Expect: 100-continue
{
    "Value": 1,
    "RevocationInfo": {     
        "RevocationComments": "Comment"
    }
}
Пример ответа
HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/7.5