Files
Bridge-and-Join-s/internal/lkgateway/web/templates
fontvielle 82b3186b95 feat(admin): загрузка дистрибутива КриптоПро через UI + активация лицензии
В карточке «СКЗИ» страницы /admin/setup добавлены два новых блока:

1. «Установка КриптоПро CSP» — multipart-форма с input type=file.
   Принимает .tar/.tgz/.tar.gz/.rpm (формат с cryptopro.ru). После
   загрузки на сервер (лимит 256 МБ):
   - сохраняет архив в /tmp/bj-cryptopro/
   - распаковывает (tar -xzf или tar -xf)
   - находит все .rpm в распакованной директории
   - выполняет sudo rpm -Uvh --replacepkgs --nosignature на найденные пакеты
   - возвращает результат с количеством установленных пакетов и выводом rpm

2. «Активация лицензии» — поле для ввода серийника и кнопка.
   Вызывает /opt/cprocsp/sbin/amd64/cpconfig -license -set <серийник>.
   Если cpconfig не найден — показывает подсказку про /admin/help/cryptopro.
   После успеха сохраняет серийник в runtime-конфиге.

internal/lkgateway/setup.go:
- handler installCryptoPro (multipart form, parse, untar, find rpms, sudo rpm)
- handler activateLicense (cpconfig -license -set, сохранение в RuntimeConfig)
- общие хелперы runCmd / runCmdInDir для exec через context

internal/lkgateway/web/templates/admin_setup.html:
- секция «Установка КриптоПро CSP» с формой загрузки
- секция «Активация лицензии» с полем + кнопкой
- ссылки на /admin/help/cryptopro и cryptopro.ru/products/csp/downloads

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 14:09:20 +03:00
..