У меня есть веб-приложение (gwt), которое работает на сервере приложений tomcat. Это веб-приложение использует несколько веб-служб (вход в систему, передача данных приложения, запросы и т. д.). Клиент веб-службы на Tomcat реализован как клиент веб-службы apache axis2.
Для входа пользователя я предоставляю форму в веб-приложении с именем пользователя и паролем. Эти данные передаются через веб-сервис для аутентификации пользователя.
Планируется заменить механизм дырочной аутентификации на аутентификацию на основе сертификатов клиентов. Аутентификация по-прежнему должна выполняться на стороне поставщика веб-услуг. Итак, в моей системе есть три важных компонента: веб-клиент, сервер приложений tomcat и поставщик веб-служб.
У каждого пользователя приложения есть свой частный клиентский сертификат (PKI Token, X.509-Auth-Cert). Когда пользователь подключается к веб-приложению, запрашивается его сертификат.
Как я могу перенаправить клиентские сертификаты для использования в веб-службах? (Tomcat не будет нести ответственность за аутентификацию).
1.) Есть ли способ перехватить запрос и извлечь клиентские сертификаты до возникновения ошибки аутентификации? Я нашел некоторую информацию о фильтрах сервлетов, которая звучит действительно хорошо, но я не уверен, где ее реализовать для перехвата сертификатов, прежде чем они будут проверены в хранилище ключей tomcats.
2.) Если возможно, как я могу пройти после сертификата клиента в веб-службу?
Спасибо за чтение