Целевой аудиторией данного руководства являются системные администраторы Сервера безопасности Тундук ответственные за установку и сопровождение программного обеспечения X-Road. Документ предназначен для читателей с умеренными знаниями администрирования Linux серверов и компьютерных сетей. ====== Настройка HTTPS сертификатов подсистемы ====== При соединении **«информационной системы потребителя услуг <-> Сервер безопасности»** сервер безопасности является сервером, а информационная система - клиентом. Клиент и сервер должны доверять сертификатам друг друга, для этого им необходимо обменяться сертификатами. ===== Создание самоподписанного сертификата информационной системы ===== openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout subsystemName.key -out subsystemName.crt {{ :opennslsubsystemcert.jpg |}} После создания сертификата загрузить его в сервер безопасности. В меню CLIENTS ⇒ выберите подсистему и нажмите на раздел "Internal servers" {{ :screenshot_from_2023-05-13_19-16-51.png?nolink |}} Импортируйте сертификаты указав путь к файлу subsystemName.crt и нажмите **OK** После загрузки хэш сумма сертификата отобразится в списке. детали сертификата можно просмотреть кликнув на хэш, затем кликнуть **DETAILS** далее экспортируйте открытый ключ сервера безопасности. В секции **SECURITY SERVER CERTIFICATE** нажмите **EXPORT**. После нажатия загрузится архив certs.tar.gz содержащий внутренний сертификат сервера безопасности в формате **cer** и **pem**. На это настройка подсистемы завершена. Информационная система клиента должна отправлять запросы к серверу безопасности с использованием tls аутентификации с использование данных сертификатов (subsystemName.crt, subsystemName.key и certs.tar.gz). ==== Проверка конфигурации с использованием CURL ==== Для проверки конфигурации можно воспользоваться утилитой [[https://ru.wikipedia.org/wiki/CURL|cURL]] Вызвав один из метасервисов. для этого создайте файл с именем request.xml и поместите в него файл со следующим предварительно отредактировав его (//необходимо указать свои идентифкаторы в разделе SUBSYSTEM//). 4.0 GUID-HERE SUbsystemCheck central-server GOV 70000005 zags-service listMethods v1 central-server Укажите свой класс Укажите свой код Укажите наименование своей подсистемы Теперь перейдите в каталог где создан файл **request.xml** и выполните следующую комманду curl -k -v --header 'Content-Type: text/xml;charset=UTF-8' --data @"./request.xml" https://Security-server --cert /path/to/subsystemName.crt --key /path/to/subsystemName.key В отвеле вы должны получить XML файл содержащий список методов подсистемы учатсника указанного в запросе. ==== Проверка конфигурации с использованием SoapUI ==== Для выполениея запросов чере SoapUI его необходимо предварительно настроить. Для soapUI сначала необходимо упаковать самоподписанный сертификат в **pfx** или **p12** контейнер. в директории с ключевой парой выполните следующую комманду. openssl pkcs12 -export -out keypair.pfx -inkey subsystemName.key -in subsystemName.crt Задайте пароль для ключевой пары. Затем откройте SoapUI нажмите **ctrl+alt+p** В появившемся окне перейдите в раздер **SSL Settings**, в параметре **KeyStore:** укажите путь к файлу **keypair.pfx**, в **KeyStore Password:** укажите пароль который вы задали при создании контейнера, установите отметку **requires client authentication** напротив **Client Authentication:** {{ :soap-ui-ssl.jpg |}} На этом настройка завершена и можно перейти к выполнению запросов. Откройте файл {{ :listmethods.wsdl |}}, затем выберите метод listMethods и сформируйте запрос как показано в примере для **curl** после чего выполните его, в случае успеха вы получите список методов друго участника, иначе вы получите сообщение об ощибке и её краткое описание. ---- Автор Даниил Горбенко