Инструменты пользователя

Инструменты сайта


subsystem-config-https

Настройка HTTPS сертификатов подсистемы

При соединении «информационной системы потребителя услуг ↔ Сервер безопасности» сервер безопасности является сервером, а информационная система - клиентом. Клиент и сервер должны доверять сертификатам друг друга, для этого им необходимо обменяться сертификатами.

Создание самоподписанного сертификата информационной системы

 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout subsystemName.key -out subsystemName.crt

После создания сертификата загрузить его в сервер безопасности. В меню MANAGEMENT ⇒ Security Server Clients выберите подсистему и нажмите иконку «internal servers» В появившемся диалоговом окне нажмите в секции CONNECTION TYPE FOR SERVERS IN SERVICE CONSUMER ROLE выберите HTTPS затем в секции INTERNAL TLS CERTIFICATES нажмите ADD укажите путь к файлу subsystemName.crt и нажмите OK После загрузки хэш сумма сертификата отобразится в списке. детали сертификата можно просмотреть кликнув на хэш, затем кликнуть DETAILS далее экспортируйте открытый ключ сервера безопасности. В секции SECURITY SERVER CERTIFICATE нажмите EXPORT. После нажатия загрузится архив certs.tar.gz содержащий внутренний сертификат сервера безопасности в формате cer и pem. На это настройка подсистемы завершена. Информационная система клиент должно отправлять запросы к серверу безопасности с использованием tls аутентификации с использование данных сертификатов (subsystemName.crt, subsystemName.key и certs.tar.gz).

Проверка конфигурации с использованием CURL

для проверки конфигурации можно воспользоваться утилитой cURL Вызвав один из метасервисов. для этого создайте файл с именем request.xml и поместите в него файл со следующим предварительно отредактировав его (необходимо указать свои идентифкаторы в разделе SUBSYSTEM).

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-road.eu/xsd/identifiers">
   <soapenv:Header>
      <xro:protocolVersion>4.0</xro:protocolVersion>
      <xro:id>GUID-HERE</xro:id>
      <xro:userId>SUbsystemCheck</xro:userId>
      <xro:service iden:objectType="SERVICE">
         <iden:xRoadInstance>central-server</iden:xRoadInstance>
         <iden:memberClass>GOV</iden:memberClass>
         <iden:memberCode>70000005</iden:memberCode>
         <iden:subsystemCode>zags-service</iden:subsystemCode>
         <iden:serviceCode>listMethods</iden:serviceCode>
         <iden:serviceVersion>v1</iden:serviceVersion>
      </xro:service>
      <xro:client iden:objectType="SUBSYSTEM">
         <iden:xRoadInstance>central-server</iden:xRoadInstance>
         <iden:memberClass>Укажите свой класс</iden:memberClass>
         <iden:memberCode>Укажите свой код</iden:memberCode>
         <iden:subsystemCode>Укажите наименование своей подсистемы</iden:subsystemCode>
      </xro:client>
   </soapenv:Header>
   <soapenv:Body>
      <xro:listMethods/>
   </soapenv:Body>
</soapenv:Envelope>

Теперь перейдите в каталог где создан файл 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: На этом настройка завершена и можно перейти к выполнению запросов. Откройте файл listmethods.wsdl, затем выберите метод listMethods и сформируйте запрос как показано в примере для curl после чего выполните его, в случае успеха вы получите список методов друго участника, иначе вы получите сообщение об ощибке и её краткое описание.


Автор С.Бутенко

subsystem-config-https.txt · Последние изменения: 2019/10/28 04:16 — admin1