.. _Install_Docker_Cryptography_InstallingCryptoApi: Установка Crypto API #################### Для установки Crypto API в Docker нужно: * задать параметры контейнера; * выполнить скрипт, который создаст контейнер на основе образа; * запустить контейнер; * настроить доступ к Crypto API через Nginx. Задание параметров контейнера ***************************** Для того чтобы задать параметры контейнера, нужно открыть конфигурационный файл ``ContainerConfiguration.json`` в текстовом редакторе: .. code-block:: console nano ~/Загрузки/TerraLink.xDEPro/Cryptography.REST/ContainerConfiguration.json Параметры контейнера приведены ниже: .. code-block:: JSON { "CryptoProLicense": "string", // серийный номер лицензии для КриптоПро CSP "CryptoProTspLicense": "string", // серийный номер лицензии для КриптоПро TSP-клиент "CryptoProOcspLicense": "string", // серийный номер лицензии для КриптоПро OCSP-клиент "Certificates": [ // имена файлов сертификатов, для которых есть закрытый ключ (pfx), и их пароли { "FileName": "string", // имя pfx-файла без пути "Password": "string" // пароль к pfx-файлу } ], "CertificatesFolderPath": "string", // путь к папке с сертификатами, для которых есть закрытый ключ (pfx) "RootCertificatesFolderPath": "string", // путь к папке с корневыми сертификатами (cer) "Appsettings": { // содержимое файла конфигурации appsettings.json // ... } } Лицензии КриптоПро ================== Для работы с криптографией Crypto API Продукта по умолчанию использует 64-разрядную версию `КриптоПро CSP `_. В поле ``CryptoProLicense`` задается серийный номер лицензии для КриптоПро CSP. В поле ``CryptoProTspLicense`` задается серийный номер лицензии для КриптоПро TSP-клиент. Его нужно указывать, если предполагается формировать подписи типа CAdES-T или CAdES-X Long Type 1. В поле ``CryptoProOcspLicense`` задается серийный номер лицензии для КриптоПро OCSP-клиент. Его нужно указывать, если предполагается формировать подписи типа CAdES-X Long Type 1. Сертификаты =========== В поле ``CertificatesFolderPath`` задается путь к папке с сертификатами, для которых есть закрытый ключ (pfx). В поле ``Certificates`` перечисляются пароли к pfx-файлам, которые будут найдены в папке ``CertificatesFolderPath``. Имя pfx-файла задается в поле ``FileName``, путь к файлу не указывается. Пароль к pfx-файлу задается в поле ``Password``. В поле ``RootCertificatesFolderPath`` задается путь к папке с корневыми сертификатами (cer). Это сертификаты удостоверяющих центров. Они содержат только открытый ключ. Конфигурационный файл Crypto API ================================ В поле ``Appsettings`` передается содержимое конфигурационного файла Crypto API. Здесь нужно настроить подключение Crypto API к базе данных. .. include:: ../_Include/Integration/SettingUpDatabaseConnection.rst .. note:: Crypto API использует базу данных интеграционного модуля. Если планируется использовать PostgreSQL, установленный на другой машине, то в строке подключения нужно указать имя хоста (либо IP-адрес) и порт установленного экземпляра PostgreSQL. | См. также: | :ref:`Конфигурационный файл Crypto API ` Создание и запуск контейнера **************************** Для создания контейнера нужно перейти в папку с образом: .. code-block:: console cd ~/Загрузки/TerraLink.xDEPro/Cryptography.REST и с помощью Powershell Core выполнить скрипт ``CreateDockerContainer.ps1``: .. code-block:: console rootlessenv pwsh ./CreateDockerContainer.ps1 В результате будет создан контейнер с именем ``xde-cryptography-rest-container``. .. include:: ../_Include/StartingContainer.rst Лог-файлы ********* | Вместе с контейнером в Docker создается том для хранения лог-файлов. | Имя тома: ``xde-cryptography-rest-logs``. Для получения пути к тому в файловой системе Docker-хоста нужно выполнить команду: .. code-block:: console rootlessenv docker volume inspect xde-cryptography-rest-logs Поле ``Mountpoint`` будет указывать на путь к папке с лог-файлами в файловой системе Docker-хоста. .. note:: Содержимое тома доступно только с правами суперпользователя. .. include:: ../../_Include/Cryptography/SettingUpNginxAccess.rst .. include:: ../../_Include/Cryptography/TestingApiAccess.rst