Целевой аудиторией данного руководства являются системные администраторы Сервера безопасности Тундук ответственные за установку и сопровождение программного обеспечения 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** после чего выполните его, в случае успеха вы получите список методов друго участника, иначе вы получите сообщение об ощибке и её краткое описание.
----
Автор Даниил Горбенко