Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ssl tomcat 
V
    Опции темы
olegrolik
Дата 8.10.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Есть сервлет на томкате, есть 4 клиента. Для каждого клиента есть 4 сертификата, хранящихся в keystore. 
Хотелось бы сделать так, чтобы сервлет при запросе от конкретного клиента выпонял конкретное действие. 
С сервером непонятно как выбрать конкретный сертификат.
И как можно организовать реализацию ssl-соединения в клиенте ? 
Может кто-то реализововывал нечто похожее?
PM MAIL   Вверх
Zamuta
Дата 8.10.2007, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 18.1.2006

Репутация: 4
Всего: 6



olegrolik, 
Цитата(olegrolik @  8.10.2007,  19:22 Найти цитируемый пост)
Для каждого клиента есть 4 сертификата, хранящихся в keystore. 

А зачем 4 ? Просто не понимаю.

Цитата(olegrolik @  8.10.2007,  19:22 Найти цитируемый пост)
Хотелось бы сделать так, чтобы сервлет при запросе от конкретного клиента выпонял конкретное действие. 

А это нужно обязательно  завязать  через сертификаты?

Цитата(olegrolik @  8.10.2007,  19:22 Найти цитируемый пост)
С сервером непонятно как выбрать конкретный сертификат.
И как можно организовать реализацию ssl-соединения в клиенте ? 


Для томката в server.xml:
Код

<Connector SSLEnabled="true"
              acceptCount="100" 
              clientAuth="true" 
              compression="on"
              debug="0"
              disableUploadTimeout="true"
              enableLookups="true"
              keystoreFile="${user.home}/.keystore"
              keystorePass="pass"  
              maxSpareThreads="75"
              maxThreads="200"
              minSpareThreads="5" 
              port="8443"
              scheme="https"
              secure="true" 
              sslProtocol="TLS"/>        



--------------------
Thank you opensource.
PM MAIL ICQ   Вверх
olegrolik
Дата 9.10.2007, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Возможно я что-то не верно понимаю.
Я хочу сделать так: есть 4 пользователя.
Заходит первый пользователь (т.е. вызывает метод post сервлета), ему передаётся файл first.txt.
Второму - second.txt ну и т.д.
Чтобы определять кому что передавать, думается, и нужен сертификат.
Насчёт server.xml это ясно. Непонятно другое - как выбирать конкретный сертификат из keystoreFile.

А это нужно обязательно  завязать  через сертификаты? - А как можно ещё?
PM MAIL   Вверх
jsa
Дата 9.10.2007, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 2
Всего: 20



дык, в кейсторе ведь не храняться пользователькие сертифкаты, для определения who is who у каждого пользователя должен быть свой сертификат
Цитата

А это нужно обязательно  завязать  через сертификаты? - А как можно ещё?

почетай про понятия аутентифкации и авторизации в принцепе, может тебе вообще ssl(и сертификаты) то и не нужен


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
olegrolik
Дата 9.10.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Цитата

дык, в кейсторе ведь не храняться пользователькие сертифкаты, для определения who is who у каждого пользователя должен быть свой сертификат

Как определить какой именно юзер коннектится? Я имею ввиду программно (код).

Цитата

почетай про понятия аутентифкации и авторизации в принцепе, может тебе вообще ssl(и сертификаты) то и не нужен

Аутентификация и авторизация, я так понимаю, относится к удостоверящим центрам. Верно?
SSL мне нужен по очень простой причине - ХОЧУ!  smile

Добавлено через 7 минут и 17 секунд
jsa, насчёт авторизации. Это гарантия того, что данные которыми клиент и сервер обмениваются, закодированы и нечитамы для других??
PM MAIL   Вверх
vzf
Дата 9.10.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 10.9.2005

Репутация: 2
Всего: 5



Цитата

Аутентификация и авторизация, я так понимаю, относится к удостоверящим центрам. Верно?


Аутентификация - процесс проверки идентификационных данных пользователя. Т.е. определение , действительно ли пользователь тот, кем представился.

Авторизация - процесс установки прав доступа пользователя к объектам информационной системы, требующих разграничения доступа.
--------------------
Java - Write Once, Test EveryWhere!
PM MAIL   Вверх
olegrolik
Дата 9.10.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Okey, понятно. 
Вобщем так: на серваке есть сертификат. С его помощью у нас будет осуществляться связь с клиентом. Настройки сервера понятны. А как быть клиенту? У него есть эта копия сертификата, которой он пользуется или как? Читал доки про ssl, но о настройках клиента не нашёл ничего.  smile 
PM MAIL   Вверх
jsa
Дата 9.10.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 2
Всего: 20



Цитата(olegrolik @ 9.10.2007,  21:02)
Okey, понятно. 
Вобщем так: на серваке есть сертификат. С его помощью у нас будет осуществляться связь с клиентом. Настройки сервера понятны. А как быть клиенту? У него есть эта копия сертификата, которой он пользуется или как? Читал доки про ssl, но о настройках клиента не нашёл ничего.  smile

Вобщем так: 
у пользователя есть пользовательский сертифакт, который удостоверяет что пользователь, тот, за кого себя выдает, у сервака свой сертификат, оба - желательно должны быть подписаны одним цетром сертификации, + на сервере должен быть СА сертификат (тобишь серфтификат самого центра) (+ приватный ключ) (все три состовляющие хранятся в кейсторе, там jks или pkcs)
так вот когда пользователь заходит со своим сертификатом по https на сервер, то в среде сервера может быть сгенерированы некоторые переменные, например SSL_CLIENT_S_DN_Email, которая имеет значение электронного адреса пользователя (вот хотя бы один способ аутентификации)
Но ест-но сервер должен быть сконфигурирован для того чтобы
1 определять че делать с пользователями без сертификатов и с невалидными сертификатами
2 генерировать переменные среды сервера

вот примерно как должно быть


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
olegrolik
Дата 9.10.2007, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Цитата(jsa @ 9.10.2007,  16:37)
Вобщем так: 
у пользователя есть пользовательский сертифакт, который удостоверяет что пользователь, тот, за кого себя выдает, у сервака свой сертификат, оба - желательно должны быть подписаны одним цетром сертификации, + на сервере должен быть СА сертификат (тобишь серфтификат самого центра) (+ приватный ключ) (все три состовляющие хранятся в кейсторе, там jks или pkcs)
так вот когда пользователь заходит со своим сертификатом по https на сервер, то в среде сервера может быть сгенерированы некоторые переменные, например SSL_CLIENT_S_DN_Email, которая имеет значение электронного адреса пользователя (вот хотя бы один способ аутентификации)
Но ест-но сервер должен быть сконфигурирован для того чтобы
1 определять че делать с пользователями без сертификатов и с невалидными сертификатами
2 генерировать переменные среды сервера

вот примерно как должно быть

Спасибо, стало немного понятно, но возникли вопросы:
откуда брать приватный ключ? 
Код

%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA

оно?

Цитата
так вот когда пользователь заходит со своим сертификатом

А что находится у пользователя? Т.е. какие пути и всё такое? И как он использует приватный ключ?

Насчёт генерации некоторых переменных: это уже механизм ssl веб сервера (tomcat), т.е. такие тонкости можно и не знать?
PM MAIL   Вверх
jsa
Дата 10.10.2007, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 2
Всего: 20



Цитата(olegrolik @ 9.10.2007,  22:03)
Спасибо, стало немного понятно, но возникли вопросы:
откуда брать приватный ключ? 
Код

%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA

оно?

Цитата
так вот когда пользователь заходит со своим сертификатом

А что находится у пользователя? Т.е. какие пути и всё такое? И как он использует приватный ключ?

Насчёт генерации некоторых переменных: это уже механизм ssl веб сервера (tomcat), т.е. такие тонкости можно и не знать?

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

сходи на http://www.openssl.org/docs/
еще почитай файлик который я вложу

Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  docs.zip 39,69 Kb


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
Alexandr87
Дата 10.10.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 6
Всего: 39



Цитата(jsa @  10.10.2007,  06:24 Найти цитируемый пост)
2 - У пользователя находиться только его пользовательский сертификат, и все, пользователь не работает с приватным ключем, с ним работает только сервер, пользовательский сертификат использует браузеры


хм, реккомендую вам тоже почитать немного на тему SSL.
PM Jabber   Вверх
olegrolik
Дата 10.10.2007, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Цитата

хм, реккомендую вам тоже почитать немного на тему SSL. 


Может тогда ты сможешь помочь?

Изучать SSL мне надо для того чтобы разобраться в рабочей программе, которая принимает файлы от нескольких клиентов. Программа запущена под jserv (Это Java-модуль для сервера apache). Кстати, jserv уже не поддерживается лет 6. 
Я хочу это приложение перевести на tomcat, но никто мне не может объяснить (в моём отделе) как именно всё работает (я имею ввиду SSL). 
Говорят только, что для каждого клиента есть свой сертификат. Вообще программ там несколько, т.е. для каждого клиента она своя. Вопрос мой такой - как можно сделать одно приложение, которое будет использовать разные сертификаты в зависимости от того, какой клиент будет подключаться?
PM MAIL   Вверх
olegrolik
Дата 10.10.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 25.1.2006

Репутация: нет
Всего: нет



Блин. Не заметил сразу, что можно ведь в server.xml написать для нескольких портов свой Connector:
Код

<Connector 
           port="8443" minProcessors="5" maxProcessors="75"
           enableLookups="true" disableUploadTimeout="true"
           keystoreFile="..."
           acceptCount="100" debug="0" scheme="https" secure="true";
           clientAuth="false" sslProtocol="TLS"/>


Код

<Connector 
           port="8444" minProcessors="5" maxProcessors="75"
           enableLookups="true" disableUploadTimeout="true"
           keystoreFile="..."
           acceptCount="100" debug="0" scheme="https" secure="true";
           clientAuth="false" sslProtocol="TLS"/>


По идее можно ведь так? Буду пробовать... Но уже завтра. От SSL уже бошка болит. smile

Добавлено @ 17:21


Это сообщение отредактировал(а) olegrolik - 10.10.2007, 17:22
PM MAIL   Вверх
Alexandr87
Дата 11.10.2007, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 6
Всего: 39



olegrolik, конкртено для apache - не пробовал делал. Будет время, наверное в субботу, попробую настроить.
PM Jabber   Вверх
Alexandr87
Дата 14.10.2007, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 6
Всего: 39



написал небольшой фак.
http://forum.vingrad.ru/faq/topic-177048/a...y1286681/0.html

будут вопросы - задавай
PM Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.