SOAP Веб-сервис HTTPS запрос

Вопрос или проблема

Мне нужно больше информации о том, как настроить сервер для тестирования SOAP-запроса.

Поставщик веб-службы прислал мне два файла “.cer”, которые мне нужно установить на сервер Apache. В моем конфигурационном файле ssl vhost я обычно работаю с :

SSLCertificateFile /etc/ssl/certs/the-pem.pem 
SSLCertificateKeyFile /etc/ssl/private/the-key.key

Но как настроить с двумя файлами .cer вместо этого?

Сообщение от поставщика следующее :

Файлы “ca_etat.cer” и “ca_ircom_devl.cer” составляют цепочку сертификатов, позволяющую вам проверять ответы WS в
тестовом окружении. Эти файлы не должны использоваться для подписания ваших запросов,
но вы должны включить цепочку сертификатов в ваше хранилище доверия.

Для получения доступа в тестовое окружение вам следует
следовать процедуре доступа WS, которую мы отправили CEL 10 октября
2024 года, и предоставить нам файл запроса на подписание сертификата (CSR),
соответствующий требованиям приложения 2 к процедуре.

На основе CSR мы выпустим сертификат, с помощью которого вы будете подписывать ваши
запросы.

Сообщите мне, если вам нужна дополнительная информация.

Спасибо заранее за вашу помощь в этом вопросе.

Ответ или решение

Для настройки сервера Apache с использованием сертификатов для тестирования запросов SOAP через HTTPS, давайте подробно рассмотрим необходимую конфигурацию и процесс установки. Вам были предоставлены два файла с расширением ".cer", которые образуют цепочку сертификатов, необходимую для проверки ответов вашего веб-сервиса в тестовой среде. Основная задача состоит в правильной установке этих сертификатов в хранилище доверия сервера.

Шаг 1: Понимание структуры сертификатов

Файлы .cer являются сертификатами, которые, как правило, используются для подтверждения подлинности сервера или клиента. Они не предназначены для подписания ваших запросов, а предназначены для аутентификации и проверки ответов от веб-сервиса. Сообщение вашего провайдера говорит о том, что эти сертификаты необходимо включить в хранилище доверия вашего сервера.

Шаг 2: Установка сертификатов на сервере

  1. Создание хранилища доверия: Для установки ваших сертификатов сначала создадим хранилище доверия на сервере. В зависимости от вашей операционной системы, это можно сделать разными способами. Если вы используете OpenSSL, это можно сделать следующим образом:

    mkdir -p /etc/ssl/certs/my_truststore
    cp /path/to/ca_etat.cer /etc/ssl/certs/my_truststore/
    cp /path/to/ca_ircom_devl.cer /etc/ssl/certs/my_truststore/
  2. Конвертация сертификатов (если необходимо): Если ваши файлы находятся в формате DER, их нужно будет конвертировать в PEM. Это делается с помощью следующей команды:

    openssl x509 -inform der -in ca_etat.cer -out ca_etat.pem
    openssl x509 -inform der -in ca_ircom_devl.cer -out ca_ircom_devl.pem
  3. Объединение сертификатов: Вы можете создать один файл с цепочкой сертификатов. Это может помочь избежать проблем при конфигурации.

    cat ca_etat.pem ca_ircom_devl.pem > ca_chain.pem

Шаг 3: Настройка Apache

Теперь, когда ваши сертификаты готовы, давайте правильно сконфигурируем виртуальный хост в Apache. Для этого откройте конфигурационный файл вашего SSL виртуального хоста:

<VirtualHost *:443>
    ServerName yourserver.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/the-pem.pem 
    SSLCertificateKeyFile /etc/ssl/private/the-key.key
    SSLCertificateChainFile /etc/ssl/certs/my_truststore/ca_chain.pem

    # Добавьте следующие строки для доверенной цепочки
    SSLVerifyClient require
    SSLVerifyDepth 2

    <Location />
        SSLRequireSSL
    </Location>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Шаг 4: Проверка конфигурации

После внесения изменений, обязательно проверьте конфигурацию Apache на наличие ошибок:

apachectl configtest

Если проверка прошла успешно, перезапустите Apache для применения изменений:

systemctl restart apache2

Шаг 5: Генерация CSR

Как упомянуто в сообщении провайдера, вам потребуется создать файл запроса на подпись сертификата (CSR), который следует отправить вашему поставщику для получения сертификата для подписи запросов. Этот процесс можно выполнить следующей командой:

openssl req -new -newkey rsa:2048 -nodes -keyout yourkey.key -out yourrequest.csr

Заключение

Следуя вышеуказанным шагам, вы сможете правильно настроить сервер Apache для работы с SOAP запросами через HTTPS, используя предоставленные сертификаты. Также не забудьте ознакомиться с документами, предоставленными вашим провайдером, для получения дополнительной информации о процессе работы с WS в тестовом окружении. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...