Как организовать аутентификацию X509 в веб-приложении с использованием Java и Spring? - PullRequest
0 голосов
/ 05 июля 2011

У меня есть USB-токен с закрытым ключом и сертификатом X509. Это видно из Firefox, так что все в порядке. У меня есть пример приложения из Spring Security (я использую версию 3), который просто демонстрирует различные типы аутентификации. Это приложение было развернуто на JBoss AS 6. Я искал во многих форумах и статьях информацию о том, как использовать сертификат X509 вместо логина / пароля авторизации (Пример: x509 аутентификация с весенней защитой 2.0.4 ). Везде, где я видел: «Просто добавьте тег x509 в ваше applicationContext.xml», «О, спасибо! Это работает!». В примере приложения Spring Spring в applicationContext.xml есть фрагмент x509, который был прокомментирован. Я раскомментировал этот материал, но ничего не работает. Это приложение регистрирует все действия, поэтому я вижу, что фильтр X509 срабатывает при загрузке страницы приложения, но ничего не делает, потому что пишет в журнале: «В запросе пользователя не найдено сертификата».

Можете ли вы помочь мне с этой проблемой? Должен ли Spring получить CN из сертификата из браузера и использовать его вместо имени для входа? Что я делаю не так?

P.S. У меня есть правый пользовательский сервисный блок в applicationContext.xml.

P.P.S. И извините за мой язык - это не мой родной язык.

1 Ответ

0 голосов
/ 13 июля 2011

Я не знаком с Spring, но в документации указано:

Вы должны быть знакомы с использованием сертификатов и настройкой клиента. проверка подлинности вашего контейнера сервлета перед попыткой его использования с Spring Security. Большая часть работы заключается в создании и установке подходящие сертификаты и ключи. Например, если вы используете Tomcat тогда прочитайте инструкцию здесь http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html. Это важно чтобы вы работали с этим, прежде чем попробовать его в Spring Security

Прежде всего, я думаю, вам нужно настроить аутентификацию X509 в вашем контейнере сервлетов JBoss.

...