Files
Bridge-and-Join-s/deploy/systemd/bj-server.service
T
fontvielle 3e34995e69 docs(cryptopro): инструкция установки CSP по реальному опыту + LD_LIBRARY_PATH в systemd
После реальной установки на dev-ВМ выяснилось:
- Минимальный набор rpm-пакетов для работы PKCS#11 — 8 штук, в т.ч.
  lsb-cprocsp-capilite-64 (libcapi20.so.4) и lsb-cprocsp-kc1-64
  (CSP уровня КС1). Без kc1 Initialize() возвращает CKR_FUNCTION_FAILED.
- КриптоПро не пишет /etc/ld.so.conf.d, поэтому Go-клиент cryptocli
  не находит libcppkcs11.so. Решение — LD_LIBRARY_PATH=/opt/cprocsp/lib/amd64
  в окружении bj-server.
- Демо-лицензия на 3 месяца встроена в дистрибутив — отдельная
  активация не требуется до истечения.

deploy/systemd/bj-server.service:
- добавлена Environment=LD_LIBRARY_PATH=/opt/cprocsp/lib/amd64
  с пояснением в комментарии

internal/lkgateway/web/templates/admin_help_cryptopro.html:
- секция «Установка КриптоПро CSP на РЕД ОС» полностью переписана:
  - две команды: через UI (рекомендуется) и через rpm вручную
  - полный список 8 нужных пакетов с пояснением каждого
  - предупреждение про LD_LIBRARY_PATH и команда для запуска из shell
  - информация про демо-лицензию (94 дня встроены)

internal/lkgateway/setup.go:
- if-else цепочка распаковки заменена на switch (gocritic lint)

Проверено: после установки kc1 веб-кнопка «Проверить подключение СКЗИ»
показывает «Доступно токенов: 1. Криптография готова к работе.
(PKCS#11 v2.11, cryptopro.ru). Токены: CryptoPro Token (CPPKCS 3)».

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

47 lines
1.4 KiB
Desktop File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[Unit]
Description=Bridge-and-Join-s — единый сервис M2M-переводов
Documentation=https://git.zetit.ru/zuevav/Bridge-and-Join-s
After=network-online.target postgresql.service
Wants=network-online.target
[Service]
Type=simple
User=bj
Group=bj
WorkingDirectory=/opt/bj
ExecStart=/opt/bj/bj-server
Restart=on-failure
RestartSec=5
# Конфигурация — через ENV или ~/.bj/setup.json (UI /admin/setup).
Environment=BJ_HTTP_ADDR=:8080
Environment=BJ_SETUP_PATH=/var/lib/bj/setup.json
Environment=BJ_M2M_SENDER=MC0079200000
Environment=BJ_M2M_RECEIVER=MC0010300000
# КриптоПро CSP кладёт .so в /opt/cprocsp/lib/amd64 без записи в
# /etc/ld.so.conf.d. Чтобы Go-PKCS#11 клиент (cryptocli) нашёл
# libcppkcs11.so и его зависимости (libcapi20, libcpext, liburlretrieve),
# подмешиваем путь через LD_LIBRARY_PATH. Без этого Initialize() падает
# с CKR_FUNCTION_FAILED или 'cannot open shared object file'.
Environment=LD_LIBRARY_PATH=/opt/cprocsp/lib/amd64
# Безопасность.
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/bj /var/log/bj /run/bj
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
RestrictSUIDSGID=true
LockPersonality=true
# Лимиты.
LimitNOFILE=65536
TasksMax=512
[Install]
WantedBy=multi-user.target