Сопоставление идентификаторов шаблонов | |
Идентификатор 1.2.0 | Идентификатор 2.x |
100001 | 9129245a-eaad-4ebc-a2a4-8845ac0336fb |
100002 | af3b0355-1798-4c64-98f7-a9c70407db1c |
100003 | bf2dac0a-f05f-49dd-95b4-e50691489b6a |
100004 | aa03e458-50cd-46b8-82cd-d5612ed3b647 |
100005 | aac2e49b-9c8e-4869-80c1-eef526ba75ab |
100006 | 059a38f5-f345-4275-b79f-e7e6cc3cbb68 |
100007 | 08c66f99-218a-46ef-bdee-6a2b3b26a4f1 |
100008 | 0c234243-18cf-4c05-b699-537731b2436f |
100009 | 11ec34a4-d03e-4059-92f0-9c09b08bffea |
100010 | 18d9bd4e-6f15-423f-8137-ac8416ad6874 |
Метод поиска шаблонов
GET API – Поиск шаблонов | |
Метод доступен администратору и оператору. В ответе для оператора должны содержаться только те шаблоны, на использование которых ему предоставлены полномочия. | |
URL – templates-service/api/v3/public/templates | |
Swagger: https://HOST/external-integration-service/swagger/swagger-ui/index.html#/[v3] Контроллер%3A шаблоны/findAll | |
Query |
|
{ | |
types (enum[]: EMBEDDED, CLONED, IMPORTED, UNKNOWN) [опционально], | Тип шаблона |
certificateType (enum[]: CERTIFICATE, ROOT_CA, SUB_CA, UNKNOWN) [опционально], | Тип выпускаемого сертификата |
endEntityType (enum[]:ROOT_CA, SUB_CA, USER, DEVICE, UNKNOWN) [опционально], | Тип субъекта |
search (string) [опционально], | Полнотекстовый поиск по имени шаблона |
removed (boolean) [опционально], | Флаг: шаблон удален |
id (UUID[])[опционально], | ID шаблона |
notId (UUID[])[опционально], | Исключая ID шаблона |
keyAlgorithm (enum[]:RSA, ECDSA, GOST_R_34_10_2012, UNKNOWN) [опционально], | Фильтр: алгоритм ключа включен в шаблоне[1] |
extendedKeyUsage (string[])[опционально], | Фильтр: расширенное использование ключа |
isCertificateAuthorityIdEmpty(boolean) [опционально], | Фильтр: ID издающего ЦС не задан |
sortDirection (string) [опционально], | Направления сортировки (ASC;DESC) |
sortBy (string[])[опционально], | Список полей, к которым применяется сортировка |
pageOffset (integer) [опционально], | Смещение от начала списка (пагинация) |
pageLimit (integer) [опционально] | Ограничение на размер выборки (пагинация) |
} | |
Request |
|
- | |
Response |
|
ResponseEntity -> CollectionResponse -> { | Ответ JSON в HTTP-body |
id (UUID), | ID шаблона |
name (string), | Имя шаблона |
type (enum: EMBEDDED, CLONED, IMPORTED, UNKNOWN), | Тип шаблона |
certificateAuthorityId (UUID), | ID ЦС, который должен использоваться при выпуске сертификата по данному шаблону |
endEntityType (enum[]:ROOT_CA, SUB_CA, USER, DEVICE, UNKNOWN), | Тип тип субъекта |
certificateCount (int64), | Число выпущенных по шаблону сертификатов |
removed (boolean), | Флаг: шаблон удален |
updated (instant), | Время обновления (ISO 8601) |
created (instant) | Время создания (ISO 8601) |
appendSubjectSId (boolean) | Флаг: включать SID субъекта в сертификат |
} | |
[1] В случае использования множественных значений для фильтра «keyAlgorithm» в ответе метода будут содержаться шаблоны, в которых включен хотя бы один алгоритм из перечня, указанного в данном фильтре.
Пример использования метода (указан текст «web» для поиска):
curl -k --location 'https://172.17.152.213/templates-service/api/v3/public/templates?search=web' \--header 'Cookie: token=eyJhbGciOiJSUzUxMiJ9.eyJzZXNzaW9uSWQiOiJmOTVjMjUyNy01YjljLTRkOTctYTFhMy0yNTk1NGUzNDZkMDciLCJpYXQiOjE3MDIyNzcyNDgsImV4cCI6MTcwMjI3NzQyOH0.aBGJVubnt9WiiDbzj7zAIEH3gbGS_qoqzzvRUk2C8xASy86iA7AFwl583wVVjWWVz_nBO5vc-izdcGfSjmkJmsCGa1wFxqt4qQiPE03FTFHAvHGJ63sqd8uCaUe_hBLxZDu-EKtiIBKcNvHoBflku42xFuwi9A56bnxsgoc4GOdl0OIM9M9kApbkrKzEyBNoWpmxKLJC6OuZWRsfdCI2n80AHSnAbwqlgmVZSEIQ-_26DqLxt9QXSYOffTCC_kDihRA2BOdLZYToUItZwHyUxgTOQze9jmSyEDZ7ow2friotTynWSmAnwauif8KTLzCxp-Xx742H7pFzqSdUYASjvQ'Пример ответа на обращение к методу
{ "status": 200, "data": { "range": { "count": 2, "offset": 0, "limit": 2147483647, "totalPages": 1, "pageNumber": 0 }, "items": [ { "id": "059a38f5-f345-4275-b79f-e7e6cc3cbb68", "name": "WEB-Client", "endEntityType": "USER", "type": "EMBEDDED", "certificateCount": 1, "removed": false, "created": "2023-12-08T10:25:34.970782Z", "updated": null }, { "id": "08c66f99-218a-46ef-bdee-6a2b3b26a4f1", "name": "WEB-Server", "endEntityType": "DEVICE", "type": "EMBEDDED", "certificateCount": 1, "removed": false, "created": "2023-12-08T10:25:34.970782Z", "updated": null } ] }}Метод получения шаблона по идентификатору
GET API – Получение шаблона по идентификатору | |
Метод доступен: администратору; оператору при наличии полномочий на использование шаблона, идентификатор которого передается во входных параметрах. | |
URL – templates-service/api/v3/public/templates/{id} | |
Swagger: https://HOST/external-integration-service/swagger/swagger-ui/index.html#/[v3] Контроллер%3A шаблоны/findById | |
Query |
|
{ |
|
id (UUID) | ID шаблона |
} |
|
Request |
|
- | |
Response |
|
ResponseEntity -> ItemResponse -> { | Ответ JSON в HTTP-body |
id (UUID), | ID шаблона |
name (string), | Имя шаблона |
type (enum: EMBEDDED, CLONED, IMPORTED, UNKNOWN), | Тип шаблона |
certificateType (enum: CERTIFICATE, ROOT_CA, SUB_CA, UNKNOWN), | Тип выпускаемого сертификата |
certificateAuthorityId (UUID), | ID ЦС, который должен использоваться при выпуске сертификата по данному шаблону |
endEntityType (enum[]:ROOT_CA, SUB_CA, USER, DEVICE, UNKNOWN), | Тип субъекта |
removed (boolean), | Флаг: шаблон удален |
validity (int64), | Время действия выпускаемого сертификата (мс) |
rsa: { | Описание RSA-криптографии |
use (boolean), | Флаг: RSA-ключи доступны для шаблона |
minLength (int32), | Минимальная длина RSA-ключа |
lengths (int32[]) | Доступные длины RSA-ключа |
}, |
|
ecdsa: { | Описание ESDCA-криптографии |
use (boolean), | Флаг: ESDCA -ключи доступны для шаблона |
minLength (int32), | Минимальная длина ESDCA -ключа |
lengths (int32[]) | Доступные длины ESDCA -ключа |
}, |
|
gost: { | Описание ГОСТ-криптографии |
use (boolean), | Флаг: ГОСТ -ключи доступны для шаблона |
minLength (int32), | Минимальная длина ГОСТ -ключа |
lengths (int32[]) | Доступные длины ГОСТ -ключа |
}, |
|
keyUsages: { | Назначение ключа сертификата |
critical (boolean), | Флаг: расширение критическое |
values (enum[]:DIGITAL_SIGNATURE, NON_REPUDIATION, KEY_ENCIPHERMENT, DATA_ENCIPHERMENT, KEY_AGREEMENT, KEY_CERT_SIGN, CRL_SIGN, ENCIPHER_ONLY, DECIPHER_ONLY, UNKNOWN) | Значение расширения |
}, |
|
extendedKeyUsages: { | Расширенное назначение ключа сертификата |
critical (boolean), | Флаг: расширение критическое |
values (string[]) | Значение расширения (OIDs) |
}, |
|
policies: { | Политики сертификата |
critical (boolean), | Флаг: расширение критическое |
values (string[]) | Значение расширения (OIDs) |
}, |
|
subjectDN: [{ | Имя субъекта сертификата |
index (int32), | Индекс (для сортировки, по умолчанию – 0) |
name (string), | Имя компонента |
description (string), | Описание компонента |
required (boolean), | Флаг: обязателен к заполнению |
validation (boolean), | Флаг: валидация значения |
modifiable (boolean), | Флаг: доступен к редактированию |
defaultValue (string), | Значение по умолчанию |
regex (string), | Регулярное значение для валидации значения |
alert (string), | Предупреждение о неудачной валидации значения |
code (enum: CN, UID, E, EMAILADDRESS, MAIL, SN, GIVENNAME, INITIALS, SURNAME, OU, O, L, ST, DC, C, UNSTRUCTUREDADDRESS, UNSTRUCTUREDNAME, POSTALCODE, BUSINESSCATEGORY, TELEPHONENUMBER, PSEUDONYM, POSTALADDRESS, STREET, NAME, T, DN, DESCRIPTION, INN, OGRN, OGRNIP, SNILS, INNLE, UNKNOWN) | Код компонента |
}], |
|
subjectAltName: [{ | Расширенное имя субъекта сертификата |
index (int32), | Индекс (для сортировки, по умолчанию – 0) |
name (string), | Имя компонента |
description (string), | Описание компонента |
required (boolean), | Флаг: обязателен к заполнению |
validation (boolean), | Флаг: валидация значения |
modifiable (boolean), | Флаг: доступен к редактированию |
defaultValue (string), | Значение по умолчанию |
regex (string), | Регулярное значение для валидации значения |
alert (string), | Предупреждение о неудачной валидации значения |
code (enum: RFC822NAME, DNS_NAME, IPADDRESS, DIRECTORY_NAME, UNIFORM_RESOURCE_ID, REGISTERED_ID, MS_UPN, MS_GUID, KRB5PRINCIPAL, PERMANENT_IDENTIFIER, XMPP_ADDR, SRV_NAME, SUBJECT_IDENTIFICATION_METHOD, UNKNOWN), | Код компонента |
generalName (int32), | Идентификатор компонента в RFC |
oid (string) | OID компонента в RFC |
}], |
|
updated (instant), | Время обновления (ISO 8601) |
created (instant) | Время создания (ISO 8601) |
appendSubjectSId (boolean), | Флаг: включать SID субъекта в сертификат |
Publication (Boolean) | Флаг: публиковать сертификат в РС |
} |
|
Пример использования метода
curl -k --location 'https://172.17.152.213/templates-service/api/v3/public/templates/08c66f99-218a-46ef-bdee-6a2b3b26a4f1' \--header 'Cookie: token=eyJhbGciOiJSUzUxMiJ9.eyJzZXNzaW9uSWQiOiI3YzE0MmJlZi1jMTNhLTQwOGUtYWY3Yi1kMDYyNjFkYzQ3ZDMiLCJpYXQiOjE3MDIyNzc1NzQsImV4cCI6MTcwMjI3Nzc1NH0.Leza2kpVqvuVPdlqGx2FeETAoeUSfD1dLO1W9HSrl0zXd1rukWYtXRlPvo3ce2TDJffHYd9sookfpSuWYUJL44Dy8t-B_59K18sxGOhtzos4ZXK4LYiXCqpiZlmeiZTXpGwbCPk5ps3S7qSA_ckAAo0hf0ooUrukVDg1ss2Zhld-i2swQldq5uy5lbRkzSeikq_PYfhnsekTsq6d7fD_7FzBFC1oZUHm8fBM8eXbqA5wK0A3TaW9IPTKQb8AXSnno6oTatnG7aJdi6X-KP8Y1vO1XeYMTv1ngvpPhkVdlVC6P9UdD6oSJQuklz2NChhZZEtIl6f-4iFXKOFvHN5J0w'Пример ответа на обращение к методу
{ "status": 200, "data": { "id": "9129245a-eaad-4ebc-a2a4-8845ac0336fb", "name": "Root CA", "validity": 757468800000, "endEntityType": "ROOT_CA", "type": "EMBEDDED", "removed": false, "rsa": { "use": true, "minLength": 1024, "lengths": [ 1024, 1536, 2048, 3072, 4096, 6144, 8192 ] }, "ecdsa": { "use": true, "minLength": 256, "lengths": [ 256, 384, 521 ] }, "gost": { "use": true, "minLength": 256, "lengths": [ 256, 512 ] }, "keyUsages": { "critical": true, "values": [ "DIGITAL_SIGNATURE", "KEY_CERT_SIGN", "CRL_SIGN" ] }, "extendedKeyUsages": { "critical": false, "values": [ "2.5.29.37.0", "1.3.6.1.5.5.7.3.2", "1.3.6.1.5.5.7.3.1" ] }, "policies": { "critical": false, "values": [] }, "subjectDN": [ { "index": 0, "name": "Country", "description": "Страна", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-z]{2}$", "defaultValue": null, "alert": null, "code": "C" }, { "index": 0, "name": "Unique Identifier (UID)", "description": "Уникальный идентификатор", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "UID" }, { "index": 0, "name": "Given name", "description": "Отчество", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "GIVENNAME" }, { "index": 0, "name": "Initials", "description": "Инициалы", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "INITIALS" }, { "index": 0, "name": "Surname", "description": "Фамилия", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "SURNAME" }, { "index": 0, "name": "Organizational unit", "description": "Подразделение", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "OU" }, { "index": 0, "name": "Locality", "description": "Населенный пункт", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "L" }, { "index": 0, "name": "State or province", "description": "Регион", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "ST" }, { "index": 0, "name": "Domain component", "description": "Компонент домена", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "DC" }, { "index": 0, "name": "Postal code", "description": "Почтовый индекс", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "POSTALCODE" }, { "index": 0, "name": "Business category", "description": "Категория организации", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "BUSINESSCATEGORY" }, { "index": 0, "name": "Telephone number", "description": "Телефонный номер", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "TELEPHONENUMBER" }, { "index": 0, "name": "Pseudonym", "description": "Псевдоним", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "PSEUDONYM" }, { "index": 0, "name": "Postal address", "description": "Почтовый адрес", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "POSTALADDRESS" }, { "index": 0, "name": "Street", "description": "Адрес", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "STREET" }, { "index": 0, "name": "Name", "description": "Имя", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "NAME" }, { "index": 0, "name": "Title", "description": "Заголовок", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "T" }, { "index": 0, "name": "Description", "description": "Описание", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "DESCRIPTION" }, { "index": 0, "name": "Common name", "description": "Общее имя", "required": true, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "CN" }, { "index": 0, "name": "Organization", "description": "Организация", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "O" }, { "index": 0, "name": "ИНН", "description": "Идентификационный номер налогоплательщика", "required": false, "validation": true, "modifiable": true, "regex": "^\\d{12}$", "defaultValue": null, "alert": null, "code": "INN" }, { "index": 0, "name": "ОГРН", "description": "Основной государственный регистрационный номер", "required": false, "validation": true, "modifiable": true, "regex": "^\\d{13}$", "defaultValue": null, "alert": null, "code": "OGRN" }, { "index": 0, "name": "ОГРНИП", "description": "Основной государственный регистрационный номер индивидуального предпринимателя", "required": false, "validation": true, "modifiable": true, "regex": "^\\d{15}$", "defaultValue": null, "alert": null, "code": "OGRNIP" }, { "index": 0, "name": "СНИЛС", "description": "Страховой номер индивидуального лицевого счёта", "required": false, "validation": true, "modifiable": true, "regex": "^\\d{11}$", "defaultValue": null, "alert": null, "code": "SNILS" }, { "index": 0, "name": "ИНН ЮЛ", "description": "ИНН юридического лица", "required": false, "validation": true, "modifiable": true, "regex": "^\\d{10}$", "defaultValue": null, "alert": null, "code": "INNLE" }, { "index": 0, "name": "Unstructured address", "description": "Неструктурированный адрес", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "UNSTRUCTUREDADDRESS" }, { "index": 0, "name": "Unstructured name", "description": "Неструктурированное имя", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "UNSTRUCTUREDNAME" }, { "index": 0, "name": "Serial number", "description": "Серийный номер", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-z0-9'()+,\\-.\\/:\\\\=? ]+$", "defaultValue": null, "alert": null, "code": "SERIALNUMBER" }, { "index": 0, "name": "Domain qualifier", "description": "Квалификатор доменного имени", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-z0-9'()+,\\-.\\/:\\\\=? ]+$", "defaultValue": null, "alert": null, "code": "DN" }, { "index": 0, "name": "Email Address (E)", "description": "Электронный адрес", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-zА-Яа-я0-9._-]+@[A-Za-zА-Яа-я0-9._-]+$", "defaultValue": null, "alert": null, "code": "EMAILADDRESS" } ], "subjectAltName": [ { "index": 0, "name": "Uniform resource identifier", "description": "Идентификатор универсального ресурса", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "UNIFORM_RESOURCE_ID", "generalName": 6, "oid": null }, { "index": 0, "name": "Service Name", "description": "Имя сервиса", "required": false, "validation": true, "modifiable": true, "regex": null, "defaultValue": null, "alert": null, "code": "SRV_NAME", "generalName": 0, "oid": "1.3.6.1.5.5.7.8.7" }, { "index": 0, "name": "RFC 822 Name", "description": "RFC 822 Name", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-zА-Яа-я0-9._-]+@[A-Za-zА-Яа-я0-9._-]+$", "defaultValue": null, "alert": null, "code": "RFC822NAME", "generalName": 1, "oid": null }, { "index": 0, "name": "DNS Name", "description": "Доменное имя", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-zА-Яа-я0-9-.*]+$", "defaultValue": null, "alert": null, "code": "DNS_NAME", "generalName": 2, "oid": null }, { "index": 0, "name": "IP address", "description": "IP адрес", "required": false, "validation": true, "modifiable": true, "regex": "^([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}$|^(\\d{1,3}\\.){3}\\d{1,3}$", "defaultValue": null, "alert": null, "code": "IPADDRESS", "generalName": 7, "oid": null }, { "index": 0, "name": "Registered Identifier (OID)", "description": "Зарегистрированный идентификатор", "required": false, "validation": true, "modifiable": true, "regex": "^(([0-1]\\.[1-9])|([2]\\.[1-9]\\d*)|([0-1]\\.[1-3]\\d))((\\.0)|(\\.[1-9]\\d*))*$", "defaultValue": null, "alert": null, "code": "REGISTERED_ID", "generalName": 8, "oid": null }, { "index": 0, "name": "Directory Name", "description": "Наименование директории", "required": false, "validation": true, "modifiable": true, "regex": "^(?:(?:EMAILADDRESS|CN|UID|SERIALNUMBER|OU|O|L|ST|C|T|SURNAME|STREET|INITIALS|GIVENNAME|DC|UNSTRUCTUREDADDRESS|UNSTRUCTUREDNAME|POSTALCODE|BUSINESSCATEGORY|TELEPHONENUMBER|PSEUDONYM|POSTALADDRESS|NAME|DN|DESCRIPTION|(([0-9]+\\.)+[0-9]+))=(?:(?:\\\"|[^,\\\"])+)(?:,\\s?(?:EMAILADDRESS|CN|UID|SERIALNUMBER|OU|O|L|ST|C|T|SURNAME|STREET|INITIALS|GIVENNAME|DC|UNSTRUCTUREDADDRESS|UNSTRUCTUREDNAME|POSTALCODE|BUSINESSCATEGORY|TELEPHONENUMBER|PSEUDONYM|POSTALADDRESS|NAME|DN|DESCRIPTION|(([0-9]+\\.)+[0-9]+))=(?:(?:\\\"|[^,\\\"])+))*)?$", "defaultValue": null, "alert": null, "code": "DIRECTORY_NAME", "generalName": 4, "oid": null }, { "index": 0, "name": "MS UPN, User Principal Name", "description": "MS UPN", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-zА-Яа-я0-9._\\/-]+@[A-Za-zА-Яа-я0-9._\\/-]+$", "defaultValue": null, "alert": null, "code": "MS_UPN", "generalName": 0, "oid": "1.3.6.1.4.1.311.20.2.3" }, { "index": 0, "name": "MS GUID, Globally Unique Identifier", "description": "MS GUID", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Fa-f0-9]{32}$", "defaultValue": null, "alert": null, "code": "MS_GUID", "generalName": 0, "oid": "1.3.6.1.4.1.311.25.1" }, { "index": 0, "name": "Kerberos KPN, Kerberos 5 Principal Name", "description": "Основное имя Kerberos 5", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-zА-Яа-я0-9._\\/-]+@[A-Za-zА-Яа-я0-9._\\/-]+$", "defaultValue": null, "alert": null, "code": "KRB5PRINCIPAL", "generalName": 0, "oid": "1.3.6.1.5.2.2" }, { "index": 0, "name": "Xmpp address", "description": "Xmpp адрес", "required": false, "validation": true, "modifiable": true, "regex": "^[A-Za-zА-Яа-я0-9._\\/-]+@[A-Za-zА-Яа-я0-9._\\/-]+$", "defaultValue": null, "alert": null, "code": "XMPP_ADDR", "generalName": 0, "oid": "1.3.6.1.5.5.7.8.5" }, { "index": 0, "name": "Subject Identification Method", "description": "Метод идентификации субъекта", "required": false, "validation": true, "modifiable": true, "regex": "^(([0-1]\\.[1-9])|([2]\\.[1-9]\\d*)|([0-1]\\.[1-3]\\d))((\\.0)|(\\.[1-9]\\d*))*::\\w+::\\w+$", "defaultValue": null, "alert": null, "code": "SUBJECT_IDENTIFICATION_METHOD", "generalName": 0, "oid": "1.3.6.1.5.5.7.8.6" }, { "index": 0, "name": "Permanent identifier", "description": "Постоянный идентификатор", "required": false, "validation": true, "modifiable": true, "regex": "^.*?\\/(([0-1]\\.[1-9])|([2]\\.[1-9]\\d*)|([0-1]\\.[1-3]\\d))((\\.0)|(\\.[1-9]\\d*))*$", "defaultValue": null, "alert": null, "code": "PERMANENT_IDENTIFIER", "generalName": 0, "oid": "1.3.6.1.5.5.7.8.3" } ], "created": "2024-07-30T17:04:45.593430Z", "updated": null }}