Открытая версия OwnCA — это однопользовательский УЦ: выпуск и отзыв сертификатов, CRL, профили расширений, экспорт PFX. Расширенная версия превращает его в основу для построения PKI в масштабах компании: ролевой доступ, очередь заявок с одобрением оператором, доступ по API-токенам, подтверждение выпуска вторым фактором (TOTP), отдельные реестры Custom OID и Certificate Policies, а также квалифицированные ГОСТ-профили (КЭП). Ниже — только то, чего нет в открытой версии.
Каждый аккаунт получает роль. Пользователь только отправляет заявки, оператор выпускает и отзывает, администратор управляет УЦ, профилями, реестрами и пользователями. Роль действует и в API.
Управление учётными записями и ролями (пользователи / операторы / администраторы).
Оператор имеет доступ только к явно назначенным ему профилям УЦ. Попытка выпустить через неназначенный УЦ запрещается.
Отдельная страница в разделе «Система» с правилами сложности паролей для учётных записей — её нет в открытой версии, где раздел «Система» ограничен Configuration и Maintenance.
Для каждого УЦ задаётся свой список разрешённых профилей: в форме выпуска оператор видит только их, а выпуск с непривязанным профилем отклоняется.
Журнал фиксирует действия учётных записей — вход, выпуск и отзыв сертификатов, перевыпуск CRL, изменения профилей, реестров и настроек УЦ — с привязкой к пользователю, времени и IP. Доступен администратору для разбора инцидентов и контроля.
Пользователь отправляет заявку: CN, алгоритм, SAN, необязательный CSR и комментарий. Выбор УЦ и профиля скрыт — их назначает оператор при одобрении.
Оператор или админ видит очередь заявок с фильтром по статусу (pending / approved / rejected). Заявка в ожидании открывается как полная форма выпуска, предзаполненная данными заявки.
Импорт CSR с автозаполнением полей и баннером загрузки работает и в заявке пользователя — идентично странице оператора.
Доступ по API отключён по умолчанию и включается администратором
для конкретного пользователя. Пользователь сам выпускает токен в
своём профиле (один на аккаунт, хранится в виде хеша, плейнтекст
показывается ровно один раз). Запросы идут с заголовком
Authorization: Bearer ownca_pat_…; токен наследует
роль своего владельца и сохраняет его IP-ограничения.
Админ включает API для пользователя одним переключателем. Отключение автоматически отзывает выпущенный токен.
Пользователь сам управляет своим токеном в профиле. Префикс из нескольких символов виден в интерфейсе для идентификации, а время последнего использования обновляется на каждом вызове.
В настройках администратор может включить обязательную проверку OTP. Тогда при выборе этого УЦ в форме выпуска и одобрения заявки появляется поле OTP code, а выпуск без верного кода отклоняется. Пользователь настраивает и подтверждает TOTP (например, через приложение-аутентификатор) в своём профиле.
Список разрешённых подсетей задаётся на пользователя и действует и на браузерные сессии, и на вызовы по API — запросы вне разрешённых подсетей отклоняются независимо от валидности токена.
Расширения из импортированного CSR (basicConstraints, KU, EKU, SAN) принудительно отбрасываются. В сертификат попадают только Subject из CSR, SAN из формы и расширения из выбранного профиля — «враждебный» CSR с CA:TRUE не протекает.
Отдельная страница (для админа) управляет определениями OID/SAN-полей: OID, отображаемое имя, ASN.1-тип и место подстановки. Встроенный набор: DNS, IP, Email, URI, UPN, СНИЛС, ИНН, ОГРН, ОГРНИП.
Отдельная страница (для админа) управляет политиками для расширения certificatePolicies: OID, ссылка на CPS-документ и текст уведомления. Встроенные политики: КЭП ФЛ / ЮЛ / ИП.
В профиле пользователя — выбор трёх семейств тем (Default / Dark / Warm) со слайдером оттенка; настройка хранится за пользователем.
Расширенная версия добавляет управление пользователями, процессом выпуска и автоматизацией, роли, заявки, API-токены, OTP и аудит.
Расширенная версия распространяется по запросу. Чтобы её получить, напишите на cats.who.play@gmail.com