Как получить сертификат на стороне клиента в спокойном веб-сервисе (Java & Jersey) без сервлетов? - PullRequest
1 голос
/ 29 июля 2010

Я хочу получить доступ к «subjectDN» из сертификата на стороне клиента, то есть получить данные пользователя (общее имя, адрес электронной почты и т. Д.) Из сертификата, но не заинтересован в части аутентификации.

Если бы я использовал сервлет, я понимаю, что могу прочитать сертификат, отправленный в заголовке запроса, используя что-то вроде

(X509Certificate[])request.getAttribute("javax.servlet.request.X509Certificate");

Однако в моем спокойном веб-сервисе я не использую сервлеты - поэтому у меня нет доступа к заголовку запроса. Отдыхающий веб-сервис написан на Java с использованием фреймворка Jersey. Мой сервер приложений GlassFish правильно настроен для SSL.

Есть мысли о том, как этого добиться без использования сервлета? Какие-нибудь прагматичные альтернативные способы?

1 Ответ

3 голосов
/ 29 июля 2010

в Джерси вы можете попробовать @Context HttpServletRequest запрос в качестве аргумента метода ресурса:

@GET
public Response getSomeView(@Context HttpServletRequest request){
     [here you have access to the request object]
}

надеюсь, что это помогло ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...