Дополнительные параметры создания запроса на сертификат
Поле | Тип | Описание |
---|---|---|
RequestType | string | Тип запроса. Возможные значения: First или Renew |
ActiveCertPin | string | ПИН-код активного сертификата пользователя |
ActiveCertId | string | Идентификатор действующего сертификата, на котором следует подписать запрос |
EkuString | string | Строка с EKU's |
TemplateOid | string | Объектный идентификатор шаблона сертификата |
GroupId | string | Идентификатор выбранной группы криптопровайдеров |
StartDate | string | Дата начала действия сертификата |
ExpirationDate | string | Дата окончания действия сертификата |
ExtensionsData | string | Другие расширения, которые необходимо добавить в запрос на сертификат. |
IsClient | string | Флаг, требуется создать неподписанный запрос на сертификат. Возможные значения: true , false |
SelfSigned | string | Создать самоподписанный сертификат true/false |
CertPeriod | string | Срок действия сертификата в заданных временных единицах |
CertPeriodUnits | string | Временная единица, в которой задается срок действия сертификата. Возможные значения: Years, Months, Weeks, Days, Hours, Minutes |
NamedValuesData | string | Дополнительные именованные параметры, которые необходимо добавить в запрос на сертификат |
AttributesData | string | Дополнительные атрибуты, которые необходимо добавить в запрос на сертификат |
Другие расширения сертификата
Некоторые другие расширения, которые требуется добавить в сертификат, могут быть переданы через
дополнительные параметры в ключе ExtensionsData
.
Значение ключа ExtensionsData
представляет собой строку в кодировке Base64, в которой
закодирован список JSON-объектов.
Каждый JSON-объект представляет собой объект CertExtensionData, состоящий из следующих данных:
Поле | Тип | Описание |
---|---|---|
Oid | string | Объектный идентификатор расширения сертификата. |
Value | byte[] | Закодированное значение расширения сертификата. |
Critical | bool | Флаг критичности расширения. |
Таким образом, значение ключа ExtensionsData
должно быть сформировано в следующем порядке.
1. Сформировать JSON-список объектов CertExtensionData
.
2. Представить указанный JSON-список в виде строки UTF-8, после чего закодировать в Base64.
Пример
В примере ниже приведено расширение с OID шаблона сертификата КриптоПро УЦ 2.0.
[
{
"OID":"1.3.6.1.4.1.311.21.7",
"Critical":true,
"Value":"MCYGHiqFAwICMgEJh/DgTobuzwyF6ZFbgq+0XIHKVYKzRAIBAQIBAA=="
},
{
"OID":"1.3.6.1.4.1.311.21.7",
"Critical":true,
"Value":"MCYGHiqFAwICMgEJh/DgTobuzwyF6ZFbgq+0XIHKVYKzRAIBAQIBAA=="
}
]
Итоговое значение ключа ExtensionsData
:
W3siT2lkIjoiMS4yLjY0My4xMDAuMTE0IiwiVmFsdWUiOiJBZ0VB...
Набор расширений также может быть задан Администратором в настройках модуля УЦ.
Пусть к файлу, содержащему набор расширений, задается в параметре -ExtensionsConfig
Формат файла с набором расширений:
OID='OID1' Critical='true' Value='MCYGHi....BAA=='
OID='OID2' Critical='false' Value='MCYGHi....BAA=='
...
OID='OIDN' Critical='true' Value='MCYGHi....BAA=='
Тип идентификации заявителя (Identification kind)
Одним из видов расширений, включаемых в запрос на сертификат при помощи параметра ExtensionsData
,
является информация о типе идентификации заявителя при выдаче сертификата. Доступно включение следующих
типов идентификации заявителя (см. Приказ ФСБ РФ от 29.01.2021 N 31):
- при личном присутствии;
- без личного присутствия с использованием квалифицированной ЭП при наличии действующего квалифицированного сертификата;
- без личного присутствия путем предоставления информации, указанной в документе, удостоверяющем личность гражданина Российской Федерации за пределами территории Российской Федерации, содержащем электронный носитель информации с записанными на нем персональными данными владельца паспорта, включая биометрические персональные данные;
- без его личного присутствия путем предоставления сведений из единой системы идентификации и аутентификации и единой биометрической системы в порядке, установленном Федеральным законом от 27 июля 2006 г. N 149-ФЗ "Об информации, информационных технологиях и о защите информации".
Значение "При личном присутствии"
Для добавления данного расширения необходимо внутрь ExtensionsData
поместить представленный ниже JSON-объект CertExtensionData
:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgEA"
}
Значение "Без личного присутствия с использованием квалифицированной ЭП"
Для добавления данного расширения необходимо внутрь ExtensionsData
поместить представленный ниже JSON-объект CertExtensionData
:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgEB"
}
Значение "Без личного присутствия с использованием персональных данных, записанных на электронный носитель из заграничного паспорта"
Для добавления данного расширения необходимо внутрь ExtensionsData
поместить представленный ниже JSON-объект CertExtensionData
:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgEC"
}
Значение "Без личного присутствия с использованием сведений из ЕСИА и ЕБС"
Для добавления данного расширения необходимо внутрь ExtensionsData
поместить представленный ниже JSON-объект CertExtensionData
:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgED"
}
Дополнительные именованные параметры запроса на сертификат
Параметр позволяет сформировать дополнительный атрибут Enrollment Name Value Pair (1.3.6.1.4.1.311.13.2.1) при создании запроса на сертификат, содержащий именованные параметры, например, срок действия сертификата (зависит от УЦ, к которому направляется запрос).
Значение NamedValuesData
представляет собой строку в кодировке Base64, в которой
закодирован список JSON-объектов. Каждый JSON-объект представляет собой объект CertNamedValueData, состоящий из
следующих данных:
Поле | Тип | Описание |
---|---|---|
Name | string | Название именованного параметра |
Value | string | Значение именованного параметра |
Таким образом, значение NamedValuesData
должно быть сформировано в следующем порядке.
1. Сформировать JSON-список объектов NamedValuesData
.
2. Представить указанный JSON-список в виде строки UTF-8, после чего закодировать в Base64.
Пример
Пример ниже демонстрирует альтернативный описанным выше способ передачи срока действия сертификата в месяцах с помощью именованных параметров в атрибуте Enrollment Name Value Pair.
[
{
"Name":"CpRaCertPeriod",
"Value":"12"
},
{
"Name":"CpRaCertPeriodUnits",
"Value":"Months"
}
]
Итоговое значение ключа NamedValuesData
:
WwogICAgewogICAgICAgICJOYW1lIjoiQ3BSYUNlcn...
Дополнительные атрибуты запроса на сертификат
Параметр позволяет сформировать дополнительный атрибут с произвольным OID, использующийся для добавления дополнительных расширений и именованных параметров запроса на сертификат (возможности использования определенных атрибутов зависят от УЦ, к которому направляется запрос).
Через дополнительные параметры в ключе AttributesData
можно передать любые дополнительные атрибуты запроса на сертификат.
Значение ключа AttributesData
представляет собой строку в кодировке Base64, в которой
закодирован список JSON-объектов.
Каждый JSON-объект представляет собой объект CertAttributeData, состоящий из следующих данных:
Поле | Тип | Описание |
---|---|---|
Oid | string | Объектный идентификатор расширения сертификата |
Blobs | List<byte[]> | Закодированное значение расширения сертификата в виде списка массивов байт |
Таким образом, значение ключа AttributesData
должно быть сформировано в следующем порядке.
1. Сформировать JSON-список объектов AttributesData
.
2. Представить указанный JSON-список в виде строки UTF-8, после чего закодировать в Base64.
Пример
Пример ниже демонстрирует передачу атрибута Enrollment Name Value Pair (1.3.6.1.4.1.311.13.2.1), включающего в себя именованный параметр (в данном случае даты истечения действия сертификата (CpRaExpirationDate 20250328005501+03:00)), и набора закодированных расширений Extensions (1.3.6.1.4.1.311.2.1.14).
[
{
"Oid":"1.3.6.1.4.1.311.13.2.1",
"Blobs":["MFAeJABDAHAAUgBhAEUAeABwAGkAcgBhAHQAaQBvAG4ARABhAHQAZR4oADIAMAAyADUAMAAzADIAOAAwADAANQA1ADAAMQArADAAMwA6ADAAMA=="]
},
{
"Oid":"1.3.6.1.4.1.311.2.1.14",
"Blobs":["ME0wHQYDVR0OBBYEFHFumeSIaAp0qiFZv+XFUdl5HEDzMB8GCSsGAQQBgjcVBwQSMBAGCCqFAwICLgADAgEBAgEAMAsGA1UdDwQEAwIE8A=="]
}
]
Итоговое значение ключа AttributesData
:
WwogICAgewogICAgICAgICJPaWQiOiIxLjMuNi4x...