Показать/Скрыть содержание

    Утилита TSLTool

    Утилита TSLTool предназначена для выполнения следующих действий:

    • Установка корневого сертификата Головного удостоверяющего центра
    • Загрузка TSL (списка аккредитованных УЦ, Trust-service Status List)
    • Установка сертификатов подчиненных УЦ
    • Загрузка и установка CRL аккредитованных УЦ
    • Удаление CRL и сертификатов аккредитованных УЦ с истекшим сроком действия

    Установка TSLTool

    1. Загрузите на сервер дистрибутив cptools.

    2. Разархивируйте дистрибутив cptools.

    3. Перейдите в папку, в которую был распакован архив на предыдущем шаге, и установите утилиту TSLTool.

    sudo dpkg -i "cprotools-tsl_*"
    

    Утилита будет установлена в папку /opt/cprotools/tsltool/.

    Получение справки по работе утилиты и примеры команд:

    tsltool --help
    

    Настройка TSLTool

    Общая настройка

    Настройка утилиты выполняется путем редактирования конфигурационного файла appsettings.json, расположенного в /opt/cprotools/tsltool/. В конфигурационном файле appsettings.json указаны следующие параметры:

    • TempFolder - директория для временного хранения сертификатов и CRL
    • LogFile – директория для хранения журналов приложения. По умолчанию файлы журналов расположены в /var/log/cprotools/tsltool/log.txt
    • RootCaUrl – URL–адрес списка аккредитованных удостоверяющих центров
    • LoaderTimeout – тайм-аут загрузки сертификатов и CRL
    • ForceCrlForCA – перечень наименований УЦ, сертификаты которых необходимо загрузить (имя должно соответствовать имени, указанному в TSL.xml)
    • AddTimeToFilename – флаг, показывающий, что при сохранении файлов нужно добавлять к имени файла метку времени
    • ForceInstallToCaStore – флаг, показывающий, что необходимо пропустить интерактивное предупреждение об установке большого количества промежуточных сертификатов в системное хранилище и принудительно установить все сертификаты в хранилище Промежуточных центров сертификации
    • Serilog - настройка журналирования работы утилиты. По умолчанию утилита настроена таким образом, что журнал может быть разобран Центром Мониторинга. Изменение параметров может быть произведено согласно описанию соответствующего приемника Serilog

    Укажите настройки, аналогичные примеру конфигурационного файла appsettings.json ниже:

    {
      "TempFolder": "/opt/tsltool/tmp",
      "LogFile": "/var/log/tsltool",
      "RootCaUrl": "https://e-trust.gosuslugi.ru/app/scc/portal/api/v1/portal/mainca/download/4BC6DC14D97010C41A26E058AD851F81C842415A;https://e-trust.gosuslugi.ru/app/scc/portal/api/v1/portal/mainca/download/9BA648660733ED7A550BCEA03A20E14B8F25C99B;https://e-trust.gosuslugi.ru/app/scc/portal/api/v1/portal/mainca/download/8CAE88BBFD404A7A53630864F9033606E1DC45E2;https://e-trust.gosuslugi.ru/app/scc/portal/api/v1/portal/ca/download/AFF05C9E2464941E7EC2AB15C91539360B79AA9D",
      "LoaderTimeout": "20",
      "ForceCrlForCA": " Минкомсвязь России",
      "AddTimeToFilename": "false",
      "ForceInstallToCaStore": "true"
    }
    

    Настройка регулярного обновления сертификатов и CRL

    Выполните настройку с помощью CRON со следующими параметрами:

    • Загрузка и установка сертификатов аккредитованных УЦ из XML-файла – раз в сутки
    • Загрузка и установка CRL файлов – раз в 1 час
    sudo crontab -e
    
    # В появившемся окне указать следующее
    0 0 * * * sudo /opt/cprotools/tsltool/tsltool --skiproot --skipcrl --removeoutOfdatecrl --removeoutOfdatecert --castorages <SVSName>-CA --onlyvalidca # Загрузка и установка сертификатов аккредитованных УЦ из XML-файла – раз в сутки
    0 * * * * sudo /opt/cprotools/tsltool/tsltool --skiproot --skipcerts --removeoutOfdatecrl --removeoutOfdatecert --castorages <SVSName>-CA --onlyvalidca # Загрузка и установка CRL файлов – раз в час
    

    Где <SVSName>-root и <SVSName>-CA – наименование хранилищ, соответствующих экземпляру КриптоПро SVS.

    Сценарии работы с TSLTool

    С прямым доступом в интернет

    1. Запустите утилиту TSLTool с помощью команды (команда выполняет первоначальную установку всех необходимых сертификатов и CRL).

    sudo tsltool --rootstorages <SVSName>-root --castorages <SVSName>-CA --onlyvalidca
    

    Где <SVSName>-root и <SVSName>-CA – наименование хранилища КриптоПро SVS.

    2. Дождитесь сообщения об успешной загрузке и установке сертификатов и CRL.

    С доступом в интернет через прокси-сервер

    Для настройки доступа через прокси необходимо задать новые пользовательские переменные окружения для того пользователя, от имени которого будет запускаться утилита TSLTool. Для этого необходим выполнить следующие действия:

    1. Перейти в в /home/имя_пользователя и открыть конфигурационный файл .profile.

    sudo nano ./.profile
    

    2. В конец конфигурационного файла необходимо добавить следующие параметры:

    export {http,https}_proxy="http://<имя_пользователя>:<пароль>@<IP-адрес_proxy>:<IP-порт_proxy>"
    

    После завершения редактирования файл необходимо сохранить.

    3. Применить настройки с помощью следующей команды:

    . ./.profile
    

    4. Повторить сценарий настройки TSLTool с прямым доступом в интернет.

    Без доступа в интернет

    В рамках данного сценария предполагается использование утилиты на двух узлах:

    • внешний сервер – узел, имеющий доступ к сети Интернет для доступа к tsl-списку Минцифры России и спискам отозванных сертификатов (CRL). Данный узел является промежуточным, осуществляет загрузку данных посредством TslTool и их передачу на внутренний ресурс.
    • внутренний сервер – узел без доступа к сети Интернет, является целевым узлом, для которого посредством утилиты TslTool будет выполняться установка подчиненных сер-тификатов аккредитованных удостоверяющих центров (АУЦ) и списков отозванных сертификатов.

    Запуск TSLTool на внешнем сервере

    1. Выполнить загрузку всех необходимых сертификатов и CRL только аккредитованных УЦ.

    sudo tsltool --downloadcrlonly --skipcerts --skiproot --onlyvalidca
    

    Описание параметров:

    Параметр Описание
    -y, --downloadcrlonly Загрузить CRL, не устанавливая их в хранилище
    -r, --skiproot Пропустить загрузку и установку сертификата головного УЦ
    -e, --skipcerts Пропустить установку сертификатов
    --onlyvalidca Загружать из файла TSL только сертификаты УЦ с действующей аккредитацией

    Запуск TSLTool на внутреннем сервере

    1. Выполнить перенос загруженных XML и CRL файлов на внутренний сервер вручную либо убедитесь, что директория с содержимым внешнего сервера доступна с внутреннего (например, в виде сетевого ресурса).

    2. Установить сертификаты Минкомсвязи с помощью утилиты certmgr (входит в состав СКЗИ КриптоПро CSP 5.0).

    sudo /opt/cprocsp/bin/amd64/certmgr -install -store mroot -f “путь к файлу сертификата Минкомсвязи”
    

    3. Установить XML и CRL файлы с помощью TSLTool.

    # Установка сертификатов УЦ из TSL
    sudo tsltool --skiproot --castorages <SVSName>-CA --removeoutofdatecrl --removeoutofdatecert --tslfile /.../TSL.xml --skipcrl --onlyvalidca
    # Установка CRL из папки с загруженными ранее CRL
    sudo tsltool --castorages <SVSName>-CA --crlfromfolder /.../crl/
    

    Где <SVSName>-CA – наименование хранилища (экземпляра) КриптоПро SVS.

    Описание параметров:

    Параметр Описание
    -s, --rootstorages Список имен хранилищ для установки корневых сертификатов (для установки сертификатов Головного УЦ)
    -i, --castorages Список имен хранилищ для установки сертификатов подчиненных УЦ и CRL
    -l, --crlfromfolder Установить CRL в хранилище из указанной папки
    -r, --skiproot Пропустить загрузку и установку сертификата головного УЦ
    -x, --removeoutOfdatecrl Удалить CRL с истекшим сроком действия
    -q, --removeoutOfdatecert Удаление сертификатов с истекшим сроком действия
    --onlyvalidca Загружать из файла TSL только сертификаты УЦ с действующей аккредитацией
    В начало © ООО "КРИПТО-ПРО", 2000–2025