Выпуск сертификата по CSR
Обновлено 20 декабря 2023
Перед выполнением запроса к сервисам CAPROXY необходимо вызвать Сервис получения токена авторизации
Open API Documentation можно найти на странице Описание работы сервиса
Описание сервиса POST /crt/csr
Клиент отправляет запрос на выпуск сертификата по CSR с указанием дополнительных атрибутов, которые необходимо включить в сертификат.
В ответ получает тело выпущенного сертификата в формате Base64, его серийный номер и дату истечения срока действия сертификата.
Параметры запроса
Наименование поля | Тип данных | Описание поля | Обязательность параметра | Паттерн | |
---|---|---|---|---|---|
HEAD | |||||
X-RqUid | String | Уникальный идентификатор сообщения ФП Интеграционный слой Чтобы обеспечить уникальность, можно использовать стандартные библиотеки и классы для генерации UUID/GUID ( https://ru.wikipedia.org/wiki/UUID ). | √ | \^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\$maxLength: 36 | |
RqUid | String | Уникальный идентификатор сообщения SberAPI Чтобы обеспечить уникальность, можно использовать стандартные библиотеки и классы для генерации UUID/GUID ( https://ru.wikipedia.org/wiki/UUID ), убрав из результата разделители «-». | √ | \^[0-9a-fA-F]{32}\$ | |
X-System | String | Система Пример: FINTECH, HRPLATFORM, SYNAPSEСогласуется на этапе первичных встреч с представителями ФП ИС | √ | \^[a-zA-Z0-9-_]+\$maxLength: 100 | |
X-Channel | String | Канал Для потребителей в Сигме в значении параметра надо указать - SBERCA_SIGMA, Для потребителей в Альфе в значении параметра надо указать - SBERCA_ALPHA | √ | \^[a-zA-Z0-9-_]+\$maxLength: 100 | |
Authorization | String | Авторизационные данные Заполняется значением токена доступа* (access_token) по шаблону: "Bearer" + пробел + \<access_token>" example: "Bearer f3d29241-f35c-4bfd-b0ef-5f011c993ef9" _________________________________________________________________ * - процесс получения токена доступа описан на страницах: Настройки сервиса вызова API и Token 3.0.0 | √ | ||
Content-Type | String | Заголовок Content-Type Например: "application/json" | √ | ||
BODY | |||||
csr_body_pem | String | Тело запроса на выпуск сертификата (CSR) в кодировке Base64 | √ | \^-----BEGIN CERTIFICATE REQUEST-----[\r\n]+[a-zA-Z0-9/+\r\n]*={0,3}[\r\n]+-----END CERTIFICATE REQUEST-----\r?\n?\$maxLength: 5500 | |
check_ca_key_algorithm | Boolean | Необходимость проверки соответствия алгоритма ключа, представленного в CSR, алгоритму ключа УЦ, на котором запрашивается выпуск сертификата | true/false | ||
dn | String | Поле DN в CSR будет перезаписан указанным в текущем поле значением | \^.*CN\s*=.+\$maxLength: 100 | ||
subject_alternative_name_data | Значение поля Subject Alternative Name | ||||
upns | Array of String | Одно или несколько значений поля Subject Alternative Name типа Microsoft User Principal Names | \^.*@.*\$maxLength: 100 maxItems: 10 | ||
rfc822_names | Array of String | Одно или несколько значений поля Subject Alternative Name типа RFC822 (адреса электронной почты) | format: email maxItems: 10 | ||
ca_name | String | Наименование выпускающего УЦ | \^[a-zA-Z0-9_-]+\$maxLength: 100 | ||
client_id | String | Идентификатор пользователя, запрашивающего сертификат. Поле для внутренней обработки клиентом, позволяющее облегчить идентификацию сертификата. | \^[a-zA-Z0-9-_+=@.,; ]*\$maxLength: 128 | ||
String | Контактный адрес электронной почты владельца запрашиваемого сертификата | format: email maxLength: 128 | |||
system_id | String | Идентификатор АС, которая запрашивает сертификат | \^[a-zA-Z0-9_-]+\$maxLength: 100 | ||
template | String | Шаблон, на основе которого запрашивается выпуск сертификата | \^[a-zA-Z0-9_-]+\$maxLength: 128 |
Пример запроса
curl --location 'https://ift.apim2.sberbank.ru:8443/prod/ILCS/crt/v1/csr' \
--header 'RqUid: 9fe2e065007811eebe560232ac050999' \
--header 'X-RqUid: 9fe2e066-0078-11ee-be56-0242ac050999' \
--header 'X-System: SberAPI' \
--header 'X-Channel: SberAPI' \
--header 'Connection: close' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 50fed8fb-6380-4f1b-8a86-0b40cfd3e6b1' \
--data-raw '{
"csr_body_pem": "-----BEGIN CERTIFICATE REQUEST-----\nMIICYjCCAUoCAQAwHTEbMBkGA1UEAwwSTXlUZXN0IENvbW1vbiBOYW1lMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmruM98L1ew80kbMl+5LOwCmYCSCt\n+LZAskTl+PyeVuiDHW9gxpnqewnqmn/8q9jwI5Lf/d8Tgkx5tsa32SoDgIxBylT9\nxnvsXyZA4yxEtmUvHMuws79wCRdrKpSQU2vuC7Edh6P1DxOM2h+4ZeTFwyGuwxN5\n+qbka7/i3ZXX95utlt/HJ0b1f3rPoC+HFwthVvIps8+8LdeN2ZZyhi57u+ERfzUT\nZ+K4fNV57u2wYnTz7CqbG5RHAmXFiKKL9EprABztpodSkoVRUgPLh/lVr/EGT6fX\nyKShV3m3QNHq/Sh41fBclW9ZiQiGzGIyH8MDAEp6RHtqTE9feg2xl2L7kQIDAQAB\noAAwDQYJKoZIhvcNAQELBQADggEBADIXKbUMsgHxzNbKRQJTm0dSkf29x/aVpM6w\nI9UaJdjq228r0hFlppNmywLzsEE43FFNbohpucOTrltrkDhSLlgxOXVN8GG6Pi8Z\njUtUaTnMnzdtUJhWLmbS57gKAcLh8dAWI+2IMVxcQqn/UKVrdU5YuiYBdSiQcwQy\nz2Bao9dyMVX+NwE0wEr/V5yDfsoVPr9fXHh/v0KpCuOrI73NKQkHL8VFkeRzG/cy\n2DZ2wg1/bdpKhxExUbPWbYDdWM8WIf0v2mekppGCdXYnzZoRv7RP6cednGw6uVyj\nd61cvS6bJNkuIKOgpWBV9579/A5vHZH7VwN0F9NBxmnOVEL4zQw=\n-----END CERTIFICATE REQUEST-----",
"check_ca_key_algorithm": false,
"dn": "CN=YarikovMY",
"subject_alternative_name_data": {
"rfc822_names": [
"vleo@example.com"
],
"upns": [
"16805703@sigma.sbrf.ru"
]
},
"ca_name": "sberca-test1-ext",
"client_id": "8687e566-5db6-4dc9-b0d9-fefb966dd63a",
"system_id": "AS1ForILCS",
"email": "petrova.v.a@sberbank.ru",
"template": "SberCA-Test3"
}'
Параметры ответа
Наименование поля | Тип данных | Описание поля | Обязательность параметра | Паттерн | |
---|---|---|---|---|---|
crt_id | String | Серийный номер сертификата в формате HEX | √ | \^[0-9a-fA-F]{1,40}\$ maxLength: 40 | |
crt_body | String | Тело сертификата в формате Base64 | √ | \^-----BEGIN CERTIFICATE-----[\r\n]+[a-zA-Z0-9/+\r\n]*={0,3}[\r\n]+-----END CERTIFICATE-----\r?\n?\$ maxLength: 5500 | |
expires | String | Дата и время истечения срока действия сертификата | √ | format: date-time |
Пример ответа
{
"crt_body": "-----BEGIN CERTIFICATE-----\nMIIGazCCBFOgAwIBAgIUX4lRjsYGknmSei3S56QiOBW9iekwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCUlUxGzAZBgNVBAoMElNiZXJiYW5rIG9mIFJ1c3NpYTEZ\nMBcGA1UEAwwQU2JlckNBIFRlc3QxIEV4dDAeFw0yMzA2MjExNDQwMTNaFw0yNDA2\nMjAxNDQ1MTNaMBQxEjAQBgNVBAMTCVlhcmlrb3ZNWTCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAJq7jPfC9XsPNJGzJfuSzsApmAkgrfi2QLJE5fj8nlbo\ngx1vYMaZ6nsJ6pp//KvY8COS3/3fE4JMebbGt9kqA4CMQcpU/cZ77F8mQOMsRLZl\nLxzLsLO/cAkXayqUkFNr7guxHYej9Q8TjNofuGXkxcMhrsMTefqm5Gu/4t2V1/eb\nrZbfxydG9X96z6AvhxcLYVbyKbPPvC3XjdmWcoYue7vhEX81E2fiuHzVee7tsGJ0\n8+wqmxuURwJlxYiii/RKawAc7aaHUpKFUVIDy4f5Va/xBk+n18ikoVd5t0DR6v0o\neNXwXJVvWYkIhsxiMh/DAwBKekR7akxPX3oNsZdi+5ECAwEAAaOCAoIwggJ+MAkG\nA1UdEwQCMAAwHQYDVR0OBBYEFFuYkiBkU2UxyvZzHf7nh9TgvaYYMIGCBgNVHSME\nezB5gBTgxWj2uUYVZZU1PT9i9Q8Z3FM+iaFOpEwwSjELMAkGA1UEBhMCUlUxGzAZ\nBgNVBAoMElNiZXJiYW5rIG9mIFJ1c3NpYTEeMBwGA1UEAwwVU2JlckNBIFRlc3Qx\nIFJvb3QgRXh0ghEAwgzAYKAm0+kxTlgyHCV54zCBugYIKwYBBQUHAQEEga0wgaow\nVAYIKwYBBQUHMAKGSGh0dHA6Ly93d3cuc2JlcmJhbmstcnUuc3RhZ2Uuc2JlcmJh\nbmsucnUvc2JlcmNhL2FpYS9zYmVyY2EtdGVzdDEtZXh0LmNydDBSBggrBgEFBQcw\nAYZGaHR0cDovL2NhLXJzYS1vY3NwLWlmdC5hcHBzLmlmdC1lZnMxLWRtLmRlbHRh\nLnNicmYucnUvc2JlcmNhLXRlc3QxLWV4dDBDBgNVHREEPDA6oCYGCisGAQQBgjcU\nAgOgGAwWMTY4MDU3MDNAc2lnbWEuc2JyZi5ydYEQdmxlb0BleGFtcGxlLmNvbTAO\nBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwgaIGA1UdHwSB\nmjCBlzCBlKCBkaCBjoZIaHR0cDovL3d3dy5zYmVyYmFuay1ydS5zdGFnZS5zYmVy\nYmFuay5ydS9zYmVyY2EvY2RwL3NiZXJjYS10ZXN0MS1leHQuY3JshkJodHRwczov\nL2hhcHJveHktZWR6MS5zaWdtYS5zYnJmLnJ1L3NiZXJjYS9jZHAvc2JlcmNhLXRl\nc3QxLWV4dC5jcmwwDQYJKoZIhvcNAQELBQADggIBADbJzEYeSLht1Rk7GVxSI7WY\n0k4pC8lnE+moBpUIxsP4hJu8ubOb47Y9rRc3I1QyPbXZy0c5+R+LGgRPbzAUC8vG\nWaN1EGlozgvimmzEWuoqhOsEheMW5Ox2zK47nhDywwXfYMZQq5gEUOm+0Jeq7Nrb\n28LhdiMvdprky9yqVtJ0gL5XaoGkIJLkvMGvXD3YNPoDxQWsJt84LnBJ57/WfSyR\nIVNiOvOisjeOYXLTmIxDjOeFfEuUra9KTQiRG+O4GJ29eTfrZs131Duh09CSqyFv\nGLq6MXysYeWuzQSFcoEZmZlW3TfFq7qhzrkv5P/d73VPXNCkLTGVDlahaObNqhbb\nyB7N34HY0T9xT8ISkYMjp6TxDRVdLj+C0R72UnEFZ6SOP1Udv1M59Y0T3iu7szOV\nD0VxYqCsIjAgACEHSZ6nL1xkS8wN4+yoz9z7z3z63JwxSEk/IgHYb7sbmuAK3LcD\nDsAP7YZM2HLFiRato1Y82YQcEcVtfQ9H4MF4ZPPnk8cuxX1DYhrRLRVYaaiZywyu\nHlTpiqaAVAwIus22O+o2rTsIMiJVmt+yXB4Q2Pf5Gx+plR1ziOlOblTzpksQzJBc\n65G0zgSMC+DexE4CN5oXIC0LrULRmPFtK9LPMKqT+KVqjV4c+zGX5Y52iXHNDx8E\nV6sCCpa8k4PwFgDC2TbM\n-----END CERTIFICATE-----\n",
"crt_id": "5f89518ec6069279927a2dd2e7a4223815bd89e9",
"expires": "2024-06-20T14:45:13.000+00:00"
}