role: user

type: text

text:
[Image]
<image_files>
The following images were provdied by the user and saved to the workspace for future use:
1. /home/ruslanpi/.cursor/projects/home-ruslanpi-Documents-repos-lmru-pdp-platformeco-channel/assets/image-740d1a97-9267-41a0-9dc6-69069e303d94.png

These images can be copied for use in other locations.
</image_files>
<user_query>
т: Александр Порохин
Отправлено: 8 апреля 2026 г. 11:45:33
Кому: Тимур Магомедов
Копия: Сергей Коротеев; Антон Федоров; Дмитрий Гулевич
Тема: RE: [802.1x] Сертификаты и их доставка

Привет!

Увидел что в сертификате используется кастомный OID 1.3.6.1.4.1.37476.9000.64.1
Он обязательно нужен?
Если да, то надо понять какие там данные и как они используются?

Подскажи, пожалуйста, по последнему вопросу Александра.
Я этот OID не добавлял и не уверен что в нем записано.
Ниже команды, которыми я генерировал серт (вдруг поможет понять)
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out timur_magomedov.key
openssl req -new -key timur_magomedov.key -out timur_magomedov.csr -subj "/C=RU/ST=Moscow/L=Moscow/O=LemanaPro/OU=SecurityEngineers/CN=60231045"
sudo step ca sign timur_magomedov.csr timur_magomedov.crt --set "dnsName=HQ1413.hq.ru.corp.leroymerlin.com" --not-after 4380h --ca-url 10.203.232.120 --root /etc/step-ca/certs/root_ca.crt
sudo step certificate p12 timur_magomedov.p12 timur_magomedov.crt timur_magomedov.key --ca /etc/step-ca/certs/intermediate_ca.crt --ca /etc/step-ca/certs/root_ca.crt

10.203.232.120 - инсталляция с step-ca которую я делал
</user_query>


role: assistant

text:
Ищем в документации Smallstep/step-ca назначение этого OID — он относится к частному PEN Smallstep.

[REDACTED]

WebSearch

search_term: Smallstep step-ca OID 1.3.6.1.4.1.37476 certificate extension

explanation: Confirm what Smallstep registers under PEN 37476 and what extension 9000.64.1 means.


text: [REDACTED]

search_term: smallstep certificates 9000.64.1 OID provisioner identity extension

explanation: Find source/docs for the specific sub-OID 9000.64.1 under Smallstep PEN.


text: [REDACTED]

search_term: smallstep certificates disable-smallstep-extensions OID 37476 extension content

explanation: Find what the Smallstep extension encodes and how to disable it.


text: [REDACTED]

WebFetch

explanation: Read Smallstep source for provisioner extension OID and ASN.1 structure if present.


text: [REDACTED]

WebSearch

explanation: Locate source file defining OID 9000.64.1 in smallstep/certificates.


text: [REDACTED]

search_term: smallstep certificates StepProvisionerOID x509 extension asn1

explanation: Find constant name and encoded fields for provisioner extension.


text:
Ниже — короткий текст, который можно переслать Александру (и коллегам) по сути вопроса.

---

## Обязателен ли OID `1.3.6.1.4.1.37476.9000.64.1`?

**Нет, не для 802.1X и не «по стандарту».**
Префикс `1.3.6.1.4.1.37476` — это [зарегистрированный у IANA частный PEN Smallstep](https://www.iana.org/assignments/enterprise-numbers/?q=37476). Под-OID `…9000.64.1` — это **внутреннее расширение step-ca** («Step Provisioner» / smallstep extensions), которое CA **сама добавляет** к выданному листовому сертификату. Вы его в `openssl req` и в CSR **не задаёте** — оно появляется на этапе `step ca sign`.

Для типичного EAP-TLS (клиентский сертификат, цепочка, SAN, Key Usage / EKU и т.д.) **ни RADIUS, ни суппликант этот OID не требуют**. Он нужен экосистеме **step-ca**: чтобы в сертификате зафиксировать **каким provisioner’ом** он выдан и связанные с этим идентификаторы (удобно для аудита, поддержки, сценариев обновления через step).

Если политика или устройство запрещают «лишние» расширения, в step-ca это можно отключить на уровне заявок (claims): **`disableSmallstepExtensions`** (глобально в `authority.claims` или у конкретного provisioner), см. [issue #620](https://github.com/smallstep/certificates/issues/620) и флаг CLI при добавлении provisioner **`--disable-smallstep-extensions`**.

---

## Что внутри и зачем

По вашему скриншоту значение — **ASN.1** (в логе видно `30 51 …`), в нём читаются две строки:

1. **`it-platform-devops@lemanapro.ru`** — как правило это **имя JWK-provisioner’а** в конфиге CA (у JWK часто имя в виде e-mail), а не обязательно «почта пользователя» сертификата.
2. **`XXgRGneBx-utRAaQHNYReMyR`** — **идентификатор учётных данных / токена** (в документации Smallstep для такого расширения фигурирует понятие вроде *Credential ID*; в выводе `step certificate inspect` это может отображаться рядом с типом и именем provisioner).

**Где используется:** в первую очередь **step** (CLI) и **step-ca** — чтобы понимать, какой provisioner и какой одноразовый/ключевой контекст выдачи зашиты в сертификат. **Обычный NPS/FreeRADIUS для 802.1X это не парсит** и не использует.

---

## Связь с вашими командами

Цепочка `genpkey` → `openssl req` → **`step ca sign`** как раз и есть место, где промежуточный CA step-ca **дописывает** своё расширение. Команды `openssl` сами по себе такой OID не создают.

---

Итог для письма: **OID не обязателен для 802.1X; это служебная метка step-ca о способе и «подписанте» выдачи; при необходимости её можно отключить в настройках CA.** Если нужно, могу сформулировать это ещё короче «одним абзацем» под ответ в переписке.

[REDACTED]


text:
<user_query>
дай мне сообщение, чтобы ответить
</user_query>


text:
Вот вариант ответа, который можно вставить в переписку:

---

Привет!

По OID **1.3.6.1.4.1.37476.9000.64.1**:

**Обязателен ли он для 802.1X?** Нет. Это не требование стандарта для клиентского сертификата в EAP-TLS. Префикс **1.3.6.1.4.1.37476** — частный номер предприятия **Smallstep** (разработчики step-ca). Под-OID **…9000.64.1** — внутреннее расширение **step-ca** («Step Provisioner»), которое CA **сама добавляет** при выдаче сертификата (на этапе `step ca sign`). В CSR и в командах `openssl` я его не задавал — его добавляет CA.

**Что внутри и зачем:** в расширении закладывается служебная информация для **step-ca / step CLI**: каким **provisioner** выдан сертификат и идентификаторы, связанные с выдачей (аудит, поддержка, сценарии обновления). В типичной развёртке **802.1X** (NPS, FreeRADIUS и т.п.) это расширение **не используется** и не проверяется.

По содержимому из просмотра сертификата: там видны строки вроде **it-platform-devops@lemanapro.ru** (часто это **имя JWK-provisioner** в конфиге CA) и второй идентификатор (**Credential ID** / контекст токена выдачи), а не обязательно «личная почта» владельца сертификата.

Если по политике безопасности нельзя иметь лишние нестандартные расширения, в step-ca это отключается настройкой **`disableSmallstepExtensions`** (глобально или для нужного provisioner).

Если нужны детали по нашей инсталляции step-ca на **10.203.232.120** — могу отдельно расписать, где в `ca.json` смотреть имя provisioner и при необходимости отключение расширений.

---

При желании укороти последний абзац или убери IP — по контексту переписки.

[REDACTED]