#!/bin/bash # install-validata.sh — установка СКЗИ «Валидата CSP» + АПК «Валидата Клиент L» # для работы Интеграционного шлюза НРД на Astra Linux. # # ВАЖНО: дистрибутив Валидаты не выложен публично. Получается по запросу: # - НРД: soed@nsd.ru # - МБ: pki@moex.com # В письме указать: «Запрос дистрибутива СКЗИ Валидата CSP для Linux + # временной лицензии для подключения к ЭДО НРД в рамках MOEX МОСТ M2M.» # # Скрипт ожидает что архив с дистрибутивом уже скачан и лежит: # dist/validata/<любые>.deb # или передан как первый аргумент. # # Запуск: # sudo bash deploy/astra/install-validata.sh # sudo bash deploy/astra/install-validata.sh /path/to/validata-csp.deb set -euo pipefail log() { echo -e "\033[1;34m[validata-install]\033[0m $*"; } warn() { echo -e "\033[1;33m[validata-install WARN]\033[0m $*" >&2; } fail() { echo -e "\033[1;31m[validata-install FAIL]\033[0m $*" >&2; exit 1; } [ "$EUID" -eq 0 ] || fail "Запускать от root" SEARCH_PATH="${1:-./dist/validata}" if [ -f "$SEARCH_PATH" ] && [ "${SEARCH_PATH##*.}" = "deb" ]; then # Передан конкретный файл DEBS=( "$SEARCH_PATH" ) elif [ -d "$SEARCH_PATH" ]; then mapfile -t DEBS < <(find "$SEARCH_PATH" -maxdepth 2 -name '*.deb' 2>/dev/null | sort) else fail "Не найден дистрибутив Валидаты. Положи .deb пакеты в dist/validata/ или передай путь аргументом. Если у тебя ещё нет дистрибутива — запроси у НРД: Email: soed@nsd.ru (или pki@moex.com) Тема: Запрос дистрибутива Валидата CSP для Linux Текст: Просим предоставить дистрибутив СКЗИ Валидата CSP v.6 для Linux (Astra Linux SE 1.7) + временную лицензию для подключения к ЭДО НРД через ПО Интеграционный шлюз в рамках сервиса MOEX МОСТ M2M (см. инструкцию nsd.ru/workflow/system/programs/web-service/). Реквизиты организации: <ИНН, ОГРН, контактное лицо>. " fi if [ "${#DEBS[@]}" = 0 ]; then fail "В каталоге $SEARCH_PATH не найдено ни одного .deb пакета" fi log "Найдено ${#DEBS[@]} пакетов Валидаты:" for f in "${DEBS[@]}"; do echo " $f" done log "Установка через dpkg..." for f in "${DEBS[@]}"; do log " $f" dpkg -i "$f" || { warn " → пытаюсь починить зависимости" apt-get install -f -y dpkg -i "$f" } done # Проверка log "Проверка установки..." VAL_FOUND=0 for path in /opt/Validata /opt/validata-csp /opt/Validata-CSP; do [ -d "$path" ] && { log " ✓ Валидата в $path"; VAL_FOUND=1; } done if [ "$VAL_FOUND" = 0 ]; then warn "Каталог Валидаты не нашёл — проверь dpkg -L <имя-пакета>" fi echo echo "================================================================" echo " Валидата установлена" echo "================================================================" echo " Следующие шаги:" echo " 1. Запустить Справочник сертификатов АПК Валидата Клиент" echo " (GUI приложение)" echo " 2. Загрузить корневой сертификат УЦ Московской Биржи" echo " (взять у УЦ МБ — ca.moex.com — для своей организации)" echo " 3. Импортировать пользовательский сертификат с приватным ключом" echo " 4. Меню Сервис → Экспортировать сертификаты в системное хранилище" echo " 5. Установить ИШ: sudo bash deploy/astra/install-ish.sh" echo "================================================================"