Я хочу иметь возможность принимать как клиенты веб-браузера, так и (автоматизированные) сервисные клиенты для одного сервлета, работающего в моем приложении. Некоторые из клиентов службы будут проходить проверку подлинности с помощью клиентских сертификатов TLS, а некоторые — нет. Я не хочу, чтобы клиентам веб-браузера когда-либо запрашивали сертификат, даже если у пользователя он установлен в браузере. Решение о том, запрашивать ли сертификат клиента, является динамическим и основано на политике клиента, поэтому его нельзя настроить статически в web.xml.
Есть ли способ динамически запускать повторное согласование TLS для запроса сертификата клиента из сервлета? Если бы у меня был доступ к необработанному SSLSocket, я мог бы настроить его на требование сертификата клиента, а затем вызвать startHandshake() для принудительного повторного согласования. Насколько я могу судить, не существует переносимого способа получить SSLSocket, связанный с запросом/ответом сервлета.
Мое приложение должно работать в различных вариантах. контейнеров сервлетов, поэтому я бы предпочел избегать решений, специфичных для контейнеров, если это возможно. В идеале решение не должно включать перенаправление, но я согласен с этим, если это единственный способ.
Подробнее здесь: https://stackoverflow.com/questions/541 ... -a-servlet
Есть ли способ динамически запускать повторное согласование SSL/TLS в сервлете? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение