WSO2 EI Несколько сертификатов на конечную точку - PullRequest
2 голосов
/ 15 марта 2019

Для этой ситуации я использую WSO2 Enterprise Integrator 6.4.0

В настоящее время я нахожусь в ситуации, когда у меня есть 1 конечная точка (SOAP), контролируемая правительством (которое мне нужно использовать), и нескольконаши конечные клиенты должны подключиться к.Чтобы это работало, все конечные клиенты должны обращаться к одной и той же конечной точке одинаково, но с использованием своего собственного клиентского сертификата.

Таким образом, у клиента 1 есть сертификат 1, а у клиента 2 - потребностисертификат 2 и т. д.

Насколько я могу судить из документации и попыток, одна конечная точка может использовать только один сертификат в своем соединении.Поскольку количество клиентов может меняться ежедневно, у меня было бы единственное общее решение этой проблемы.

В настоящее время, чтобы обойти эту проблему, я создаю проект, в котором я использую конечную точку для каждого клиента и наоборотпрокси для подключения к конечной точке.Это, однако, не идеально, так как мне все равно нужно создать 1 конечную точку для каждого клиента, что может оказаться довольно интенсивным.

Я открыт для любых предложений.

1 Ответ

1 голос
/ 20 марта 2019

Вы правы, что не можете заставить ESB представить другой сертификат на основе клиента, который пытается подключиться.Если вы действительно хотите пойти по этому пути, поставив обратный прокси (например, nginx) перед ESB и используя его для обработки SSL, это может сработать, но я бы не советовал делать это.

Если вывы хотите использовать взаимный SSL ( ссылка , ссылка ), затем вам нужно добавить сертификаты клиентов, которые будут подключаться к вашей конечной точке, в ваше хранилище доверия клиентов.Склад доверенных сертификатов по умолчанию находится в <wso2EI_home>/repository/resources/security/client-truststore.jks.Чтобы импортировать сертификат keytool -import -trustcacerts -file <cert-file-name> -alias <choose-a-useful-name> -keystore client-truststore.jks Пароль по умолчанию - wso2carbon.

Для этого необходимо сохранить сертификаты. Когда сертификат клиента изменяется, поскольку срок его действия истек, необходимо импортировать новый.Они не смогут подключиться, пока вы это не сделаете.

Другой вариант может состоять в том, чтобы отключить взаимный SSL и открыть доступ к конечной точке для любого пользователя (который вы разрешаете через брандмауэр) для подключения.Вам не нужно будет вести список клиентских сертификатов.Трафик все еще будет зашифрован, вы просто потеряете жесткий контроль над тем, кто может подключиться.

...