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

    Развертывание и настройка Ключ Lite

    Требования

    Ключ Lite предъявляет следующие системные требования:

    Для функционирования серверной части в nix-системах:

    • ОС СН Astra Linux SE Смоленск;
    • СКЗИ «КриптоПро CSP» 5.0 и новее;
    • веб-сервер (cpnginx, соответствующий версии КриптоПро CSP, либо nginx 1.18.0 и новее);
    • утилита конфигурирования CPShell (для ОС СН Astra Linux SE Смоленск в режиме замкнутой программной среды (ЗПС)) либо PowerShell 7.5 и новее.

    Для функционирования серверной части в Windows-системах:

    • Microsoft Windows Server 2016/2019/2022 (x64);
    • СКЗИ: «КриптоПро CSP» 5.0 и новее;
    • веб-сервер IIS, соответствующий используемой ОС;
    • утилита конфигурирования PowerShell версии 7.5 и новее.

    Для функционирования пользовательского АРМ:

    • операционная система, поддерживаемая СКЗИ «КриптоПро CSP» 5.0 и новее;
    • СКЗИ «КриптоПро CSP» 5.0 и новее;
    • веб-браузер с установленным плагином КриптоПро Browser plug-in (Chromium Gost, Яндекс Браузер, Opera, Firefox) (опционально).

    Другое:

    • установленный и настроенный в минимальной конфигурации ПАК «КриптоПро Ключ» (в случае использования Ключ Lite в режиме веб-интерфейса);
    • сертификат и ключ веб-сервера (если веб-сервер будет настраиваться впервые);
    • лицензии на Ключ Lite, КриптоПро CSP, TSP и OCSP-клиенты (если планируется создание подписей, требующих обращение к соответствующим службам).

    Порядок развертывания

    Развертывание Ключ Lite должно быть выполнено в следующем порядке.

    • Установка Ключ Lite и необходимого ПО;
    • Создание экземпляра Сервиса Lite;
    • Активация Сервиса Lite;
    • Ввод лицензии на Ключ Lite и необходимое ПО;
    • Настройка Сервиса Lite;
    • Настройка веб-сервера.

    Установка Ключ Lite и необходимого ПО

    • *nix
    • Windows

    Установка КриптоПро CSP и дополнительных пакетов

    1. Распакуйте архив с дистрибутивом СКЗИ «КриптоПро CSP» в выбранную папку.

    tar -xf linux-amd64_deb.tgz -C /opt/tmp 
    

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

    Пример с установкой cpnginx и cades:

    # Выдача прав на выполнение владельцу файла
    sudo chmod u+x install.sh
    # Установка
    sudo ./install.sh cprocsp-nginx cprocsp-pki-cades
    

    Установка CPShell

    Примечание

    Утилита CPShell для конфигурирования экземпляра необходима при использовании режима ЗПС в ОС СН Astra Linux SE Смоленск.

    1. Распакуйте архив с дистрибутивом cprotools в выбранную папку.

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

    sudo dpkg -i "cprotools-shell_*"
    

    Установка и импорт модулей PowerShell

    Установка PowerShell

    В случае если для конфигурирования сервисов будет использован PowerShell, скачайте и установите его дистрибутив, следуя инструкции по установке.

    Импорт модулей PowerShell

    Для автоматической загрузки модулей PowerShell Сервиса Lite требуется создать PowerShell-профиль или добавить в существующий следующие данные:

    /opt/cprokey/powershell/Modules
    

    Каталог с PowerShell-профилем расположен по следующему адресу: /opt/microsoft/powershell/7/profile.ps1. В случае отсутствия файла профиля его необходимо создать самостоятельно. В этом случае содержимое файла должно выглядеть следующим образом:

    $env:PSModulePath+=':/opt/cprokey/powershell/Modules'
    

    Запустите PowerShell и получите список доступных модулей:

    sudo pwsh
    get-module -ListAvailable
    

    В списке должен присутствовать модуль с названием CryptoPro.SignatureServiceLite.PowerShell.

    Установка Ключ Lite

    1. Дистрибутив Сервиса Подписи Lite устанавливается при помощи утилиты dpkg. Перейдите в папку, в которой находится deb-пакет cprokey-lite_*.deb, и выполните следующую команду:

    sudo dpkg -i "cprokey-lite_*"
    

    2. Создайте учетную запись, от имени которой будет запускаться сервис.

    sudo useradd -r lite-srv
    

    3. Добавьте пользователя, созданного на предыдущем этапе в группу ‘litesrv’.

    sudo usermod -a -G litesrv lite-srv
    
    Примечание

    Группа litesrv создается при установке дистрибутива Ключ Lite.

    Установка КриптоПро CSP и дополнительных пакетов

    1. Выполните установку КриптоПро CSP в соответствии эксплуатационной документацией на КриптоПро CSP выбранного исполнения.

    Установка PowerShell и импорт модулей

    1. Выполните установку PowerShell из комплекта поставки.

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

    2. Откройте PowerShell с правами администратора.

    3. Откройте для редактирования файл C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 или создайте его, выполнив следующую команду:

    notepad $PROFILE.AllUsersAllHosts
    

    4. Добавьте в файл профиля следующие данные (если такая строка отсутствует):

    $Env:PSModulePath = $Env:PSModulePath+";C:\Program Files\Crypto Pro\KEY\powershell\Modules"
    

    5. Получите в PowerShell список доступных модулей:

    get-module -ListAvailable
    

    В списке должен присутствовать модуль с названием CryptoPro.SignatureServiceLite.PowerShell.

    Установка Ключ Lite

    1. Перейдите в папку с дистрибутивом КриптоПро Ключ Lite и распакуйте архив с дистрибутивом.

    2. Перейдите в папку с распакованным дистрибутивом и запустите установочный файл cprokey-lite_*.msi. Требуются права администратора.

    Создание экземпляра Сервиса Lite

    Запуск утилиты конфигурирования CPShell для создания экземпляра производится при помощи следующей команды:

    sudo cpsh
    

    В случае если используется PowerShell, запуск производится при помощи следующей команды:

    sudo pwsh
    

    1. Объявите переменные с параметрами экземпляра сервиса.

    $displayName = "lite" #Отображаемое имя экземпляра
    $appName = "lite" #Имя веб-приложения экземпляра
    $serviceAccount = "lite-srv" #Имя учетной записи, от имени которой будет осуществляться запуск сервиса.
    

    2. Создайте экземпляр Сервиса Lite:

    Add-LiteInstance -DisplayName $displayName -ApplicationName $appName -ServiceAccountName $serviceAccount
    

    Активация сервиса

    Активация сервисов требуется только для сервиса Lite, развернутого в *nix-системах. Включите сервис Lite:

    sudo systemctl enable --now cprokey-litesrv-lite.service 
    

    В сервисе Lite доступна проверка состояния конечных точек сервиса. В случае если сервис работает штатно, при обращении к его конечной точке при помощи POST/GET-запроса будет возвращен HTTP-ответ с кодом StatusCode = "200" и JSON-Content: {"status": "Healthy"}.

    #Сервис Lite
    https://$hostname/$lite_name/health
    

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

    Restart-LiteInstance #Сервис Lite
    

    Лицензирование Ключ Lite

    Сервису Lite для обеспечения его работоспособности требуются следующие лицензии:

    • лицензия на ПО "КриптоПро Ключ Сервер Lite",
    • лицензия на СКЗИ "КриптоПро CSP" версии 5.0,
    • лицензия на ПО "КриптоПро OCSP Client" (если планируется создание подписи форматов, требующих взаимодействия со Службами УЦ),
    • лицензия на ПО "КриптоПро TSP Client" (если планируется создание подписи форматов, требующих взаимодействия со Службами УЦ).

    Ввод лицензии на Ключ Lite

    Для ввода лицензии выполните (выполняется при помощи PowerShell или утилиты CPShell (sudo cpsh)):

    New-LiteLicense -DisplayName $displayName -SN $serialNumber -CompanyName $companyName
    
    Примечание

    Если не указывать параметры SN и CompanyName, будет введена временная тестовая лицензия на три месяца.

    Перезапустите экземпляр Lite:

    Restart-LiteInstance -DisplayName $displayName 
    

    Ввод лицензии на другое ПО

    • *nix
    • Windows

    Ввод лицензии на КриптоПро CSP

    Для просмотра информации о текущей лицензии выполните:

    sudo "/opt/cprocsp/sbin/amd64/cpconfig" -license -view
    

    Для ввода лицензии выполните:

    sudo ./cpconfig -license -set <серийный_номер>
    
    Примечание

    Серийный номер следует вводить с соблюдением регистра символов.

    Ввод лицензии на TSP- и OCSP-клиенты

    Для ввода лицензии выполните:

    sudo /opt/cprocsp/bin/amd64/ocsputil li -s <серийный_номер>
    sudo /opt/cprocsp/bin/amd64/tsputil li -s <серийный_номер>
    

    Ввод лицензии на КриптоПро CSP

    Ввод лицензии осуществляется при помощи графического интерфейса КриптоПро CSP или Инструментов КриптоПро в соответствии с эксплуатационной документацией.

    Ввод лицензии на TSP- и OCSP-клиенты

    Для ввода лицензии выполните:

    New-LiteLicense -TspCli -SN <серийный_номер>
    New-LiteLicense -OcspCli -SN <серийный_номер>
    
    #Для ввода временной лицензии можно выполнить команду без указания серийного
    номера.
    

    Настройка экземпляра сервиса Ключ Lite

    Сервис Ключ Lite позволяет настроить его в двух режимах:

    • веб-интерфейс Lite. В данном режиме необходимы сервисы КриптоПро Ключ (Сервис Подписи, настроенный специальным образом, Сервис Аудита, Центр Идентификации и Веб-интерфейс Пользователя). Для работы с Веб-интерфейсом Lite требуется аутентификация пользователя. Возможна настройка отображения документов перед подписью и аудит событий. Поддерживаются все форматы подписи, поддерживаемые КриптоПро Ключ. Доступно расшифрование документов только формата CMS типа «конверт данных» (см. Р 1323565.1.025–2019). На стороне пользователя требуется наличие КриптоПро CSP. Для работы в браузере требуется наличие на стороне пользователя КриптоПро ЭЦП Browser plug-in.
    • REST-сервис Lite. В данном режиме сервис Ключ Lite предоставляет программный интерфейс, позволяющий выполнять вычисление хэш-значения для подписанного документа и формировать структуру подписи необходимого формата (в т.ч. усовершенствовать подпись в рамках поддерживаемых форматов). Вычисление значения подписи происходит непосредственно на устройстве пользователя. На стороне Пользователя требуется наличие КриптоПро CSP. Описание API Сервиса представлено в Руководстве Разработчика из комплекта документации.

    Настройка Сервиса Lite должна производиться следующим образом.

    • Создание экземпляра Lite - настройки описаны на этапе разворачивания Сервиса Lite;
    • Ввод лицензии - настройки описаны на этапе разворачивания Сервиса Lite;
    • (Опционально) Настройка параметров экземпляра;
    • (Опционально) Специальные настройки для работы в режиме веб-интерфейса;
    • (Опционально) Настройка конечных точек;
    • (Опционально) Настройка журналирования;
    • (Опционально) Настройка плагинов XML-преобразования.

    Настройка Сервиса Lite производится при помощи утилиты конфигурирования CPShell (sudo cpsh) либо при помощи PowerShell (sudo pwsh). Список командлетов, входящих в состав модуля Lite, можно получить, выполнив команду:

    Get-Command -Module CryptoPro.SignatureServiceLite.PowerShell -CommandType Cmdlet
    

    Для получения справки по каждому из командлетов выполните следующую команду:

    Get-help <имя_командлета>
    # Например:
    Get-Help Set-LiteProperties -Full
    

    Основные объекты администрирования Ключ Lite:

    • Лицензия - настройки описаны на этапе разворачивания Сервиса Lite;
    • Настройки экземпляра сервиса;
    • Специальные настройки для работы в режиме веб-интерфейса;
    • Настройки конечных точек;
    • Журналирование;
    • XML-преобразования.

    Настройки экземпляра сервиса

    Основные настройки экземпляра Сервиса Lite могут быть изменены при помощи командлета Set-LiteProperties:

    • -CertValidationMode – режим проверки сертификата при формировании подписи. Может иметь следующие значения: NoCheck, ChainOnline, ChainOffline.
    • -CertRevocationValidationFlag – режим проверки на отзыв сертификатов в цепочке. Может иметь следующие значения: EndCertificateOnly, EntireChain, ExcludeRoot.
    • -PdfSignatureSize – размер блока, выделяемого для подписи в PDF-файле (в кБайт).
    • -AllowedCorsOrigins - допустимые источники запросов для контроля CORS.
    • -AdditionalCertStoreName – имя дополнительного хранилища сертификатов для сбора доказательств действительности сертификата подписи.
    • -IsAdditionalCertStoreEnabled – ($true/$false) значение, показывающее, следует ли использовать дополнительное хранилище сертификатов.
    • -SignatureTypeList - поддерживаемые форматы подписи через запятую. Допустимые значения: XMLDSig, GOST3410, PDF, CADES, CMS
    • -OcspServiceList - список служб OCSP через запятую.
    • -CadesUseOcspAuthorizedPolicy - разрешает использование групповой политики КриптоПро OCSP Client "Службы OCSP: сертификаты уполномоченных служб OCSP" при проверке полномочий службы актуальных статусов. Подробнее см. документацию на КриптоПро OCSP Client.
    • -CadesUseProxy - параметр зарезервирован для использования в ОС Windows. Использовать прокси при создании CAdES-подписи. Если TRUE — пропустить запрос настроек прокси-сервера у IE.

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

    Restart-LiteInstance
    

    Специальные настройки для работы Lite в режиме веб-интерфейса

    Для настройки работы Lite в режиме веб-интерфейса необходимы сервисы КриптоПро Ключ (Сервис Подписи, настроенный специальным образом, Сервис Аудита, Центр Идентификации и Веб-интерфейс Пользователя). Настройки сервисов КриптоПро Ключ описаны в соответствующем Руководстве Администратора из комплекта документации.

    В данном разделе описаны специальные настройки, требуемые для добавления возможности использования функций Lite в веб-интерфейсе.

    1. Интеграция Сервиса Lite с Веб-интерфейсом КриптоПро Ключ:

    Set-FeProperties -LiteSignServerAddress " http://$hostname/$lite_name/" – по умолчанию http, т.к. это межсервисное взаимодействие
    

    2. Переключение Сервиса Подписи в режим поддержки Lite (Client или ServerAndClient):

    Set-SignProperties -DisplayName <Имя экземпляра Сервиса Подписи> -ServiceType Client
    

    3. Добавление криптопровайдера типа "Lite" с именем, соответствующим используемому алгоритму подписи.

    Add-SignCryptoProvider -TypeId Lite -ProviderName " Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType 80
    

    4. Перезапуск настраиваемых сервисов:

    Restart-SignInstance
    Restart-FeInstance
    Restart-LiteInstance
    

    В случае использования режима ServerAndClient при создании запроса на сертификат в веб-интерфейсе будет доступен выбор хранения ключа подписи на стороне пользователя.

    Настройки конечных точек

    В настройках конечных точек Lite можно указать следующий параметр:

    • -MaxRequestBodySizeInBytes - максимальный размер сообщения в байтах. По умолчанию равен 30000000 (~30 Мбайт). Рекомендуется выполнять данную настройку согласованно с настройкой ограничения размера передаваемых данных в cpnginx.

    Пример настройки:

    Set-LiteEndpointGlobalSettings -DisplayName lite -MaxRequestBodySizeInBytes 30000000
    

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

    Restart-LiteInstance
    

    Журналирование

    Сообщения о работе службы Сервиса Lite записываются в автоматически создаваемые при установке журналы событий:

    В *nix-системах:

    /var/log/cprokey/litesrv/{{Имя экземпляра сервиса при создании}}/cprokey-litesrv-lite*.log (/var/log/cprokey/litesrv/lite/cprokey-litesrv-lite*.clef в случае использования структурированного журналирования).

    В Windows:

    C:\Program Files\Crypto Pro\KEY\litesrv\log
    

    Поддерживаемые типы и форматы журналов событий

    В Ключ Lite реализована запись событий в файл при помощи библиотеки Serilog. Для файла журнала поддерживается ротация, а также автоматическое удаление старых файлов.

    Настройка журналирования и ротации журналов

    Настройка журналов производится при помощи командлета Set-LiteLoggingProperties.

    Название свойства Описание
    LogLevel Уровень логирования по умолчанию.
    OutputTemplate Шаблон сообщения. Параметры и вид шаблона по умолчанию описаны ниже.
    RollingInterval Задает частоты создания нового файла журнала. Доступны значения:
    Minute,Hour,Day,Month,Year, Infinite. По умолчанию имеет значение Day.
    FileSizeLimitBytes Максимальный размер файла журнала в байтах, при достижении заданного размера будет создан новый файл. Для неограниченного роста необходимо указать 0. По умолчанию имеет значение 1MB.
    RetainedFileCountLimit Максимальное количество файлов журналов, при достижении этого значения старые файлы будут удаляться. Для отключения удаления необходимо указать 0.
    IsAsync Используется ли асинхронная запись в файл. Данный режим ускоряет производительность, но снижает надежность. По умолчанию false.
    AsyncBufferSize Размер очереди для асинхронной записи. Определяется опытным путем, по умолчанию имеет значение 10000. Слишком большие значения увеличат объем занятой памяти и снизят надежность из-за риска потерять все содержимое очереди в результате сбоя, слишком маленькие значения нивелируют преимущество асинхронной записи.
    AsyncBlockWhenFull Определяет режим работы асинхронной записи при превышении размера очереди, блокирование записи новых событий или игнорирование (отбрасывание не помещающихся сообщений с их потерей. По умолчанию false.
    FlushToDiskIntervalSeconds Интервал записи в файл на диск. По умолчанию 2 секунды.
    UseRenderedClef Построение текстовок записей журнала в удобно читаемом формате с учетом подстановочных параметров. По умолчанию false. Рекомендуется использовать при включении структурированного журналирования (параметр UseStructuredLogging).
    UseStructuredLogging Включение структурированного журналирования. По умолчанию false.
    EnableDebugLogging Параметр зарезервирован для дальнейшего использования.

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

    Restart-LiteInstance
    

    Поддерживаются следующие виды журналирования:

    • текстовое (используется по умолчанию);
    • структурированное журналирование (JSON).
    Текстовое журналирование
    Внимание!

    Текстовый формат журналов не рекомендован к использованию в связи с постепенным прекращением его поддержки. При развертывании новых экземпляров требуется использовать структурированное журналирование.

    Журналы событий имеют расширение *.log. Шаблон форматирования по умолчанию имеет следующий вид.

    [{Level:u3}] {EventId}: {Timestamp:o } | {RequestId,22} | {Message:lj} | {Properties:j} |{NewLine}{Exception}<|
    

    Компоненты шаблона (в случае если компонент отсутствует, он будет представлять собой пустое значение | |:

    • {Level:u3} - уровень логирования в виде трехбуквенного сокращения в верхнем регистре: DBG, INF, WRN, ERR, CRT.
    • {EventId} - идентификатор события .
    • {Timestamp:o} - метка времени в формате YYYY-MM-DDThh:mm:ss.fffffffzzz (ISO 8601).
    • {RequestId,22} - уникальный идентификатор запроса. Представляет из себя 22 символа в формате ConnectionId:RequestNumber, где ConnectionId - это идентификатор HTTP соединения, а RequestNumber - номер HTTP запроса, полученного по данному соединению.
    • {Message:lj} - текст сообщения.
    • {Propertie:j} - дополнительные свойства сообщения, не вошедшие в текстовку {Message}, в виде сериализованного в строку объекта JSON.
    • {NewLine} - специальное свойство, отображающее новую строку.
    • {Exception} - сообщение об ошибке вместе со стектрейсом (при наличии).

    Символы {, }, :u3, :o, :lj, :j являются специальными элементами самого шаблона, они не попадают в результирующий вывод. Специальные символы | и <| облегчают его автоматизированный разбор.

    Пример записи:

    [INF] { Id: 1 }: 2024-11-15T13:54:45.4041441+03:00 | 0HN82BCC94RU0:00000001 | Request starting HTTP/1.0 POST http://localhost:60000/api/signatures/presign - application/json 1167 | {"SourceContext":"Microsoft.AspNetCore.Hosting.Diagnostics","RequestPath":"/api/signatures/presign","ConnectionId":"0HN82BCC94RU0","ProcessId":81153,"ThreadId":11} |
    
    Структурированное журналирование

    Режим журналирования используется по умолчанию. Структурированное журналирование представляет собой запись журналов событий в формате JSON. Переход на использование структурированного журналирования с использованием serilog осуществляется при помощи следующей команды:

    Set-LiteLoggingProperties -UseStructuredLogging $true -UseRenderedClef $true
    

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

    Restart-LiteInstance
    

    Журналы событий имеют расширение *.clef. Шаблон форматирования по умолчанию имеет следующий вид.

    Компонент Имя Описание Обязательность
    @t Timestamp Метка времени в формате YYYY-MM-DDThh:mm:ss.fffffffzzz (ISO 8601). Обязательный
    @m Message Текст сообщения
    @mt Message Template Шаблон сообщения. Будет отображен вместо поля Message, если при настройке структурированного журналирования не был взведен флаг -UseRenderedClef $true
    @l Level Уровень логирования Отсутствие означает, чтобы событие является информационным
    @x Exception Сообщение об ошибке вместе со стектрейсом (при наличии).
    @i Event id Идентификатор события

    Пример записи:

    {"@t":"2024-11-15T10:55:43.7311260Z","@m":"Content root path: \"/var/opt/cprokey/litesrv/lite\"","@i":"cc26f24e","ContentRoot":"/var/opt/cprokey/litesrv/lite","SourceContext":"Microsoft.Hosting.Lifetime","ProcessId":84635,"ThreadId":1}
    

    XML-преобразования

    Ключ Lite обеспечивает поддержку пользовательских XML-преобразований при формировании подписи формата XMLDSig (XAdES). Данная возможность обеспечивается путем регистрации плагина XML-преобразования.

    Регистрация плагина осуществляется при помощи командлета Add-LiteTransformPlugin, позволяющего настроить следующие параметры:

    • –Assembly - Путь к сборке, содержащей реализацию преобразования. По умолчанию поиск будет осуществляться в папке /opt/cprokey/plugins/transforms/.
    • –ClassName - Имя класса в указанной сборке, непосредственно реализующего XML-преобразование.
    • –Identifiers - Список идентификаторов, соответствующих регистрируемому преобразованию.

    В Ключ Lite доступны следующие XML-преобразования:

    • XML-Signature XPath Filter 2.0. Идентификатор: http://www.w3.org/2002/06/xmldsig-filter2
    • Преобразование, разработанное для Федеральной таможенной службы (ФТС). Идентификатор: urn:xml-dsig:transformation:v1.1.
    Add-LiteTransformPlugin -DisplayName lite –Assembly "/opt/cprokey/plugins/transforms/CryptoPro.Plugins.Xml.Transforms.dll" –ClassName CryptoPro.Plugins.Xml.Transforms.Filter2SubstractTransform –Identifiers "http://www.w3.org/2002/06/xmldsig-filter2"
    Add-LiteTransformPlugin -DisplayName lite –Assembly "/opt/cprokey/plugins/transforms/CryptoPro.Plugins.Xml.Transforms.dll" –ClassName CryptoPro.Plugins.Xml.Transforms.XmlFssTransform –Identifiers "urn:xml-dsig:transformation:v1.1"
    

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

    Restart-LiteInstance
    

    Настройка веб-сервера

    • Настройка веб-сервера (*nix)
    • Настройка веб-сервера (Windows)
    Примечание

    Настройки для веб-сервера cpnginx аналогичны настройке nginx, поэтому в данном разделе указаны только детали, необходимые для минимальной настройки веб-сервера для работы с Ключ Lite.

    Настройка сертификата веб-сервера

    1. Установка сертификата веб-сервера возможна двумя способами:

    • Установка сертификата из pfx. В этом варианте сертификат веб-сервера должен быть получен заранее в УЦ и скопирован на серверы с Ключ Lite в виде pfx-контейнера.
    sudo -u cpnginx /opt/cprocsp/bin/amd64/certmgr -install -pfx -store uMy -file /<path>/certificate.pfx -pin <пароль от файла pfx>
    
    • Получение сертификата на УЦ оффлайн. В этом варианте запрос на сертификат и ключ создаются на сервере Ключ Lite с помощью следующей команды:
    sudo -u cpnginx /opt/cprocsp/bin/amd64/cryptcp -creatrqst -provtype 80 -rdn "CN=Веб-сертификат" -altname "<DNS-name>" -both -certusage "1.3.6.1.5.5.7.3.1" -cont "cont_name" -exprt /tmp/web1.req
    

    Файл запроса на сертификат необходимо передать в УЦ для выпуска сертификата. Выпущенный сертификат необходимо скопировать на сервер в виде cer- или p7b-файла и установить следующим образом:

    sudo -u cpnginx /opt/cprocsp/bin/amd64/certmgr -install -file /tmp/web.cer -cont web -provtype 80 -provname "Crypto-Pro GOST R 34.10-2012 KC2 CSP"
    
    • Опционально (в случае использования RSA-сертификатов): установите RSA-сертификат веб-сервера, с привязкой к закрытому ключу в хранилище пользователя cpnginx:
    sudo -u cpnginx /opt/cprocsp/bin/amd64/certmgr -install -provtype 24 -file <key.pfx> -pfx -pin <pfx_pin> -store umy
    

    2. Установите цепочку сертификатов издателей сертификатов веб-сервера:

    #Вариант №1 – установка в хранилища пользователя nginx
    #Корневой сертификат
    sudo -u cpnginx /opt/cprocsp/bin/amd64/certmgr -install -file <root.cer> -store uroot
    #Промежуточный
    sudo -u cpnginx /opt/cprocsp/bin/amd64/certmgr -install -file <ca.cer> -store uca
    
    #Вариант №2 – установка в локальные хранилища
    #Корневой сертификат
    sudo /opt/cprocsp/bin/amd64/certmgr -install -file <root.cer> -store mroot
    #Промежуточный
    sudo /opt/cprocsp/bin/amd64/certmgr -install -file <ca.cer> -store mca
    

    3. Если нет доступа к CRL по сети, установите их в хранилище mCA

    sudo /opt/cprocsp/bin/amd64/certmgr -install -crl -store mca -file «CRL»
    
    Создание и установка самоподписанного сертификата веб-сервера в тестовых целях

    В случае если необходимо быстро развернуть экземпляр Сервиса Lite в тестовых целях, можно использовать самоподписанный сертификат веб-сервера.

    Примеры команд, приведенные в данном разделе, позволяют создать сертификат с общим и альтернативным именем testlitecert, расположенный в директории /opt/tmp/web.cer, после чего установить его в хранилище mroot.

    # Создание сертификата
    sudo -u cpnginx /opt/cprocsp/bin/amd64/csptest -minica -root -dn "CN=testlitecert" -provtype 80 -provider "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -container "web" -fcert /opt/tmp/web.cer -keytype exchange -certusage "1.3.6.1.5.5.7.3.1" -altname "testlitecert" -store uMy -exportable -until 365
    
    # Установка сертификата
    sudo /opt/cprocsp/bin/amd64/certmgr -install -certificate -file /opt/tmp/web.cer -store mroot
    

    Настройка конфигурации веб-сервера

    После разворачивания экземпляра Сервиса Lite будет доступен конфигурационный файл nginx.conf, расположенный в следующей папке:

    /etc/opt/cprokey/litesrv/{{displayName}}/nginx.conf
    
    Примечание

    По умолчанию сервис будет слушать первый свободный порт, начиная с 60000.

    Данный файл nginx.conf необходимо включить в основную конфигурацию cpnginx, расположенную в следующей папке:

    "/etc/opt/cprocsp/cpnginx/cpnginx.conf"
    

    Для этого в выбранную секцию server с помощью include необходимо поместить следующие строки (см. пример секции для ГОСТ 1-TLS):

    # HTTPS, 443, 1-x TLS GOST
      server {
        listen 443 sspi;
        server_name {{DNS-имя веб-сервера, должно совпадать с alternative subject name сертификата}};
        include /etc/opt/cprokey/litesrv/{{Имя экземпляра Lite}}/nginx.conf;
        sspi_certificate {{отпечаток сертификата}}; #Серийный номер ГОСТ-сертификата веб-сервера
        sspi_verify_client off;
        }
    
    Примечание

    DNS-имя веб-сервера в секции server_name должно совпадать с alternative subject name сертификата веб-сервера.

    Для того чтобы настроить размер передаваемых файлов, необходимо использовать параметр client_max_body_size, который может быть размещен в нужном контексте (http, server, location) в зависимости от потребностей вашего веб-сервера. Рекомендуется устанавливать соответствие с настройками конечных точек Сервиса Lite, где размер передаваемых данных по умолчанию равен 30 МБайт:

    client_max_body_size 30m; #Максимальный размер запроса от клиента
    

    После модификации файла необходимо перезапустить сервис nginx при помощи следующей команды:

    sudo systemctl restart cpnginx.service
    

    Для настройки работы веб-сервера необходимо установить Microsoft Internet Information Services 8 и новее. В Мастере добавления ролей и компонентов необходимо добавить следующие роли веб-сервера IIS:

    • ASP.NET 4.5;
    • Расширяемость .NET (.NET Extensibility 4.5);
    • Расширения ISAPI (ISAPI Extensions);
    • Фильтры ISAPI (ISAPI Filters);
    • Статическое содержимое (Static content);
    • Фильтрация запросов (Request Filtering);
    • Консоль управления IIS (IIS Management Console);
    • Дополнительные службы .NET Framework 4.5 (NetFx4Extended-ASPNET45);
    • Активация по HTTP (HTTP Activation).

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

    dism.exe /Online /Enable-Feature /FeatureName:IIS-WebServerRole /FeatureName:IIS-WebServer /FeatureName:IIS-ASPNET45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:IIS-ISAPIExtensions /FeatureName:IIS-ISAPIFilter /FeatureName:IIS-StaticContent /FeatureName:IIS-ManagementConsole /FeatureName:IIS-RequestFiltering /FeatureName:WAS-WindowsActivationService /FeatureName:WCF-HTTP-Activation45 /FeatureName:IIS-NetFxExtensibility45 /FeatureName:NetFx4Extended-ASPNET45 /FeatureName:WAS-ConfigurationAPI 
    

    Удаление Ключ Lite

    Примечание

    Перед удалением Ключ Lite необходимо сначала удалить экземпляры сервисов.

    • *nix
    • Windows

    Для удаления Ключ Lite необходимо выполнить следующие действия.

    1. Остановка сервиса.

    sudo systemctl stop cprokey-lite.service
    

    2. Удаление экземпляра сервиса.

    sudo cpsh 
    
    #Удаление экземпляра Сервиса Lite
    Remove-LiteInstance -DisplayName $lite_name
    

    3. Удаление программного пакета Ключ Lite.

    sudo dpkg -r cprokey-lite
    

    Для удаления Ключ Lite необходимо выполнить следующие действия.

    1. Остановка сервиса.

    Iisreset /stop
    

    2. Удаление экземпляра сервиса.

    sudo pwsh 
    
    #Удаление экземпляра Сервиса Lite
    Remove-LiteInstance -DisplayName $lite_name
    

    3. Удаление программного пакета Ключ Lite. Для удаления перейдите в папку с дистрибутивом Ключ Lite и запустите файлы, при помощи которых осуществлялась установка. Требуются права администратора.

    cprokey-lite_*.msi
    

    Обновление Ключ Lite

    • *nix
    • Windows

    1. Остановите сервис:

    sudo systemctl stop cprokey-lite.service
    

    2. Установите новый пакет аналогично первой установке.

    3. Запустите сервис:

    sudo systemctl start cprokey-lite.service
    

    1. Остановите запущенные сервисы:

    Iisreset /stop
    

    2. Установите новые пакеты аналогично первой установке.

    3. Запустите сервисы:

    iisreset
    
    В начало © ООО "КРИПТО-ПРО", 2000–2026