2013-04-15 4 views
0

Я хочу сделать webapp доступным только для некоторых ограниченных пользователей. Поэтому я выбираю проверку подлинности SSL-клиента. Я новичок, поэтому не так много знаний об этом. Я следую this tutorial, чтобы добиться его. вот несколько моментов в моем сознании. Я использую базовые самоподписанные SSL.Tomcat 7 ssl client authenitcation

1) Можем ли мы создать единый клиентский сертификат для всех клиентов, которые предоставляются мной? поэтому любой, у кого есть клиентский сертификат, может получить доступ к приложению. звучит не очень хорошо.

2) Если нет (1), то есть простой способ создать клиентский сертификат и зарегистрироваться на tomcat user.xml. Я не хочу принуждать пользователя создавать клиентский сертификат и отправлять мне, чтобы я зарегистрировался на сервере.

3) Как перенаправить на другую страницу, если сертификат SSL не совпадает.?

4) можно ли использовать частный открытый ключ одной машины на другой?

5) на моем сервере есть несколько приложений, но я хочу проверить только одно приложение с помощью SSL. Возможно ли тогда как?

, пожалуйста, также предложите мне хорошие учебные пособия для этого. Наконец, моя рекомендация - предоставить доступ ограниченным пользователям до 50. Мои клиенты могут зарегистрировать свою систему некоторым удобным для пользователя способом.

ответ

2

1) Можем ли мы создать единый клиентский сертификат для всех клиентов, которые предоставляются мной?

Это не имеет смысла. Клиентский сертификат должен однозначно идентифицировать клиента. Они должны иметь по одному.

, так что любой, у кого есть сертификат клиента, может получить доступ к приложению. звучит не очень хорошо.

Это не так.

2) если нет (1), то есть простой способ создать сертификат клиента и зарегистрироваться на tomcat user.xml. Я не хочу принуждать пользователя создавать клиентский сертификат и отправлять мне, чтобы я зарегистрировался на сервере.

Это единственный безопасный способ. Если вы создаете сертификат, у вас есть закрытый ключ, поэтому он не является частным, поэтому он не может делать то, что он должен делать, юридически. Например, вы не можете доказать, что только клиент мог выполнить какую-либо транзакцию, поэтому вы теряете юридическую необратимость. Вы не используете для этого user.xml, вы должны использовать один из других Realms Realms, например базу данных.

3) Как перенаправить на другую страницу, если сертификат SSL не совпадает.?

Если вы используете Container Managed Authentication, которым вы должны быть, это все определено в web.xml для приложения.

4) можем ли мы использовать закрытый открытый ключ одной машины на другой?

Это не имеет смысла, см. Выше. Закрытый ключ должен быть закрытым и под исключительным контролем одного объекта.

Я сомневаюсь, что использование клиентских сертификатов является правильным решением. Если вы просто хотите ограничить доступ к серверу, дайте каждому клиенту логин.

5) на моем сервере есть несколько приложений, но я хочу аутентифицировать только одно приложение с помощью SS

Смежные вопросы