Извлечение информации о сертификате клиента при использовании mTLS и WSSJAVA

Программисты JAVA общаются здесь
Anonymous
Извлечение информации о сертификате клиента при использовании mTLS и WSS

Сообщение Anonymous »

У меня есть Java-приложение, работающее в Tomcat. Я добавил прослушиватель https на порт 8443, как описано здесь:
https://docs.spring.io/spring-boot/docs ... ring-boot- reference.pdf (9.3.13. Включение нескольких соединителей с помощью Tomcat)
Я дополнительно настроил прослушиватель для запроса клиентов на представление сертификатов (двусторонний TLS/взаимный TLS) и имею хранилище доверенных сертификатов с доверенными записями. Все это работает, и я вижу в журналах все TLS-рукопожатие вместе с представленным сертификатом клиента.
У меня есть конечная точка сервера WebSocket (

Код: Выделить всё

@javax.websocket.server.ServerEndpoint
), который вызывается, когда клиент подключается через «wss://....» после установки безопасного туннеля tls, вызывается метод @OnOpen и он имеет javax.websocket .Объект сеанса. Таким образом, обновление http(s) до ws работает.
Мой вопрос: После выполнения TLS-квитирования (инициируемого WSS : в моем случае через https), мне нужно извлечь информацию о сертификате клиента (X509) (субъект/эмитент и т. д.) и сделать ее доступной в методе @OnOpen. Я искал какие-нибудь перехватчики или другой способ получить доступ к данным сертификата, извлечь их и сделать их доступными после завершения обновления до ws. Есть ли способ получить доступ к HttpServletRequest из метода обработки веб-сокета @OnOpen? Благодарим за помощь.

Подробнее здесь: https://stackoverflow.com/questions/633 ... ls-and-wss

Вернуться в «JAVA»