OQ — открытые вопросы (вопросительные моменты) проекта PKI
Реестр открытых вопросов: моменты, требующие решения А.М. и других участников, и замечания к первоисточникам. В официальные документы (ЧТЗ/ПМИ) не вставляются. Принятые решения фиксируются в history.md и /opt/pki/requirements.md; после решения вопрос вычёркивается либо помечается «решено» со ссылкой на ответ.
Правила ведения: один вопрос = идентификатор (В01, И01, …) + формулировка + Дата / место, где возник. Новые вопросы — сверху соответствующего раздела.
В-общие вопросы к прорабатываемому материалу (см.наименование раздела)
И-вопросы к источникам
Вопросы по черновикам реестров сертификатов (work/r2+3_Certificates/)
ID | Вопрос | дата / Где возник/ статус (автор) |
В01 | Номер Заявки «Хронограф» и номера её пунктов — в черновиках стоят плейсхолдеры | ЧТЗ 4.2.2/4.2.3, ПМИ А.2/А.3 |
-В01- | Впредь использовать: | 260915 22:13 |
В02 | Состав и порядок подготовки тестовых сертификатов УКЭП для испытаний (издатели, владельцы, периоды действия, дефектные сертификаты) | Список сертификатов для тестирования лучше всего запросить у РТЛабс, а также уточнить их перечень. Я запрошу (А.Б.) (Дис) |
В03 | Доступ к методам приватного канала сертификатов УЦ на стенде — от имени какого участника выполняются вызовы | 260915 |
В04 | Включать ли проверки А.2 в коллекцию Postman (Приложение А.5.1): текущая коллекция покрывает только проверки А.1 | 260915 |
В05 | Перечень дефектных тестовых сертификатов УКЭП (какие нарушения, какие коды предупреждений); продолжительность фоновых проверок и момент наблюдения isChecked = True | 260915 |
В06 | Подготовка сертификата с неверной подписью; охватывать ли отдельными шагами полную криптографическую проверку цепочки (CHAIN_CRYPTO_*) и запрос списка отозванных сертификатов из локального хранилища; включать ли проверку регистрации корневого сертификата (ERR-0723/0724/0725) | 260915 |
В07 | Состав цепочки доверия тестовых сертификатов и её влияние на пересечение периодов; включать ли событие «аннулирование» (event = 0) в сценарий | 260915 |
В08 | Состав и порядок подготовки тестовых сертификатов УНЭП | Список сертификатов для тестирования лучше всего запросить у РТЛабс, а также уточнить их перечень. Я запрошу (А.Б.) |
В09 | Поведение при регистрации квалифицированного сертификата в канале УНЭП (маршрутизация проверок по channel_type из REGISTRATION_CHANNEL_POLICY) — включать ли отдельную проверку | 260915 |
В10 | Включать ли проверки А.3 в коллекцию Postman (Приложение А.5.1) | 260915 |
В11 | Для УНЭП в источнике не описана фиксация isChecked = True после фоновых проверок (описано только для УКЭП) — считать ли поведение одинаковым | 260915 |
В12 | Проверка регистрации корневого сертификата в канале издателей Госключ (ERR-0723/0724/0725); полная криптографическая проверка цепочки (CHAIN_CRYPTO_*) | 260915 |
В13 | Для УНЭП не описан код ошибки разбора идентификатора cert (у УКЭП — ERR-0731) — проверить фактическое поведение на стенде | 260915 |
В14 | Имя поля типа сертификата УНЭП в записи: модель содержит ownerType (типы владельца), проверки формируют registration_json.owner_type (ROOT_CA/SUB_CA/END_ENTITY) — уточнить фактическое имя поля и множество значений на стенде | 260915 |
В15 | Для УНЭП gherkin алгоритма периодов содержит сценарий «недействующая аккредитация на начало действия», но приложения-алгоритмы и диаграммы УНЭП аккредитацию не используют — уточнить фактическое поведение; включать ли событие «аннулирование» в сценарий | 260915 |
Вопросы по черновикам «Ротация каналов» (work/r4_serviceChainCode/)
ID | Вопрос | дата / Где возник/ статус (автор) |
В16 |
| 260915 |
В17 | Номер и наименование Заявки, обозначения, шифры — плейсхолдеры | 260915 |
В18 | Наименование документа-основания для обратных ссылок в ПМИ («описание решения, п. 2.1») — уточняется | 260915 |
В19 | Автоматизация проверок в ПМИ не отражена (коллекции нет); при появлении коллекции методика дополняется ссылками, приложения перенумеровываются (сейчас: Б — протокол, В — акт) | 260915 |
В20 | Состав проверок А.4.1–А.4.14 предварительный; идеи тестирования (создание коллизий, контрольная сумма, смена версии s_cc, периодическая ротация, недоступность канала) — в диалоге с А.М. | 260915 |
Замечания к источнику «3 Описание реестра_сертификатов.html» (снимок 14.09.26)
Противоречия и неоднозначности
ID | Замечание |
И01 | УНЭП: модель приватного канала содержит |
И02 | УНЭП, п. 4.7.3 (END_ENTITY): первое условие записано «Если _id=issuerUUID» — противоречит признаку некорневого сертификата (в 4.7.2 корректно «_id≠issuerUUID»). Вероятная опечатка |
И03 | УНЭП и аккредитация: gherkin п. 4.2.4 содержит сценарий «1.6 Недействующая аккредитация на начало действия», но приложения-алгоритмы, диаграммы 4.2.3.1/4.2.4.1 и итоговый результат УНЭП аккредитацию не используют; в таблице 20 при этом сохранено поле |
И04 | УНЭП: фиксация |
И05 | Переходы по статусной модели (таблица 7 = таблица 17): смысл групп строк («Предыдущее изменение статуса», «Последующее изменение статуса», «Изменение статуса отсутствует») и порядок применения матрицы не расшифрованы |
И06 | Причины 11 и 16: упомянуты в gherkin-сценариях («причина 11» с событием 0; «причина 16» с событием 1), расшифровок в документе нет; в диаграмме статусной модели причины 0–10 (без 7) |
И07 | Идентификаторы (п. 5.2): (а) разрядность идентификатора издателя: 24 бита в п. 5.2 против «32 старших значащих бита» в таблице 25; (б) сумма бит: 74 LSB заявлены, составляющие 4+12+2+62 = 80 бит; (в) |
И08 | Аннотации рецензента в тексте документа (С. Лебедева, 23.08.2026): критика формата идентификатора («Критично. Переделать… externalID»); вопрос порядка переноса в публичный канал — до или после фоновых проверок («Критично»); отсутствие basic constraints в модели расширений; «Договорились добавить сюда еще PKUP» (таблица 9). Требуют решения — учесть в ЧТЗ или снять |
И09 | Таблица 26 (типы записей): колонка keyDateTimeSrc пустая для КСКПЭП и НСКПЭП; размещение сервисного чейнкода (канал, узел) не описано |
И10 | Таблица 24 (методы формирования UUID): только |
Дефекты оформления (мешают ссылкам)
ID | Замечание |
И11 | Дубли номеров таблиц: «Таблица 5» (соотношение полей и коды ошибок), «Таблица 8» (логическая отмена и поиск по фильтру), «Таблица 14» (периоды); в главе 4 — «Таблица 19» и «Таблица 20» дважды; подписи не соответствуют содержанию («Таблица 8. Коды ошибок создания записи…» под методом поиска; «Таблица 20. Коды ошибок создания записи…» под методом поиска УНЭП) |
И12 | Глава 2 (статусная модель) — только диаграмма, текстового описания нет; нумерация процесса п. 3.1.3.1 начинается с пункта 2 |
И13 | Текст vs диаграмма 3.1.3.2: запрос списка отозванных сертификатов из локального хранилища описан только на диаграмме; условие ветки криптографических проверок на диаграмме ошибочно («Отсутствие родительских сертификатов») |
И14 | Опечатки: «Приватныe каналs» (п. 4.1), |
И15 | Артефакты копирования УКЭП→УНЭП: диаграмма 4.2.4.1 («Получение периодов действия аккредитации»), эндпоинт |
И16 | Имя поля версии истории: |
И17 | JSON-примеры документа синтаксически некорректны (двойные скобки, пропущенные/лишние запятые) — как эталон тестовых данных использовать нельзя |
И18 | Приложение «Правила определения типов владельца»: не описывает значение null; регистр констант (UPPER) не совпадает с моделями (lower) |
И19 | Приложение «Правила регистрации сертификатов в канале»: не содержит терминов КСКПЭП/НСКПЭП и правила для самоподписанных сертификатов; перечень ОГРН ГУЦ/ФК/ЦБ/ФНС в приложении отсутствует (есть только в проверке п. 4.9.2 и на диаграмме «Разделение сертификатов по каналам») |
И20 | Диаграммы алгоритмов (приложения, стр. 127–130): пустой блок цикла, ветвление без «Да/Нет», «reason==1 ИЛИ 3» vs «event==1 ИЛИ 3». Алгоритмы существуют только в виде изображений |
Не описано в документе
ID | Замечание |
И21 | Отказ при регистрации квалифицированного сертификата в канале УНЭП (есть только маршрутизация проверок по |
И22 | Коды ошибок для некорректного параметра |
И23 | Поведение при исчерпании значений идентификатора реестра и прочие вопросы сервисного чейнкода — частично перекрываются ЧТЗ 4.2.4 |
И24 | Значение «MAC-адрес с дополнением» в структуре |
Замечания к источнику «Ротация каналов_260714.html» (снимок 260714)
Пробелы исходного документа
ID | Замечание |
И25 | Коды ошибок не определены — ни одного кода ошибки, перечня отказов, реакции на некорректные данные (превышение registryID 31, отсутствие реестра для актива, повторная регистрация). Все негативные ветки ПМИ — с пометкой |
И26 | Форматы запросов/ответов не определены — аргументы методов заданы обобщённо («an asset as JSON»); форматы полей, обязательность, ограничения не приведены; REST-эндпоинты чейнкода не описаны (способ вызова в ПМИ — нейтрально: «средства вызова методов сервисного чейнкода») |
И27 | Формат даты и времени не установлен — поля dateTimeOpened/dateTimeClosed не привязаны к RFC 3339 |
И28 | Расхождение по типам актива — таблица assetType (1–4) против описания GetAssetType («УЦ, СКПЭП, ЭП», диапазон 0..7); термины КСКПЭП/НСКПЭП против «СКПЭП»; OGRN/ОГРН смешаны |
И29 | Расхождение по границе ротаций — SetRegistry «registryID + 1 (<=31)» против «32 ротации» в п. 2.1 и таблице 6: 32 значения (0–31) = 31 ротация + первичная регистрация либо 32 ротации; поведение при исчерпании не описано |
И30 | RecordID не описан — возвращается GetRegistersByIssue, в составе БД (п. 2.1) отсутствует; связь с registryID не установлена |
И31 | Контрольная сумма UUID — формулировка «побитовая сумма последующих триад для последующих 42 бит» неоднозначна; поведение при несоответствии не описано |
И32 | «Ключевая дата» актива не определена — какая дата ключевая для каждого типа актива, не указано |
И33 | Обобщённость разрешения коллизий — что инициирует запись о коллизии, как выбирается число раундов хэширования, предел раундов, поведение при неразрешимой коллизии |
И34 | Версионирование s_cc — порядок смены версии, влияние на ранее сформированные идентификаторы и состав признаков типов не описаны |
И35 | Периодическая ротация — периодичность не определена; каналы в таблице 1 поименованы обобщённо, без привязки к именам из п. 1.1 |
И36 | Две несогласованные схемы именования каналов — п. 1.1 (mcc, mcc_priv, iit_acc_priv…) против приложения (mcc_0, mccpriv_0, aca-1_priv_0 … с индексом поколения); правило формирования имён не задано |
И37 | Механизм миграции не описан — состав действий по миграции (кроме регистрации канала в s_cc) и судьба идентификаторов активов при ротации не раскрыты |
И38 | Участники и топология — s_cc развёрнут у каждого участника (по схеме приложения), но требования к размещению service_cc у участников в тексте отсутствуют |