![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
powerOn |
|
||||||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 2 Всего: 159 |
Использование RMI совместно с SSL. ------------------------------------------- Предполагается, что читатель знаком с данными темами: 1) Основы технологии RMI (создание простых RMI компонентов и серверов). Для ознакомления: http://vingrad.ru/JAVA-JAV-000103 http://vingrad.ru/JAVA-JAV-002305 http://vingrad.ru/JAVA-JAV-002341 2) Основы SSL (что это и зачем это нужно) 3) Создание и использование хранилища ключей ( утилита keytool ) Для ознакомления: http://vingrad.ru/JAVA-JAV-003023 ------------------------------------------- Не так давно мною была опубликована статья о создании защищенного соединения на основе SSL сокетов. Теперь я решился дополнить её, и рассказать, как использовать SSL сокеты совместно c RMI. Я не буду рассматривать вопросы создания RMI клиента и сервера, а лишь затрону вопрос об организации безопасного соединения. И так, у нас имеется RMI сервер и RMI клиент, которые активно обмениваются информацией. Мы хотим обеспечить секретность данной информации, а так же, аутентификацию участников её обмена. Что нам необходимо сделать, чтобы клиент и сервер общались через SSL сокеты: 1) Сгенерировать ключи и сертификаты для клиента и сервера. 2) Создать фабрику защищенных сокетов для RMI клиента. 3) Создать фабрику защищенных сокетов для RMI сервера. 4) Примененить полученные фабрики в коде клиента и сервера. Сгенерировать ключи и сертификаты для клиента и сервера. О том как создать хранилище ключей, сгенерировать ключи, подписать ключи, а импортировать и экспортировать ключи, подробно описано здесь: http://vingrad.ru/JAVA-JAV-003023 Напомню, что клиент должен обладать собственным (подписанным сертификатом) ключом, которым будет производиться шифрование данных и сертификатом ключа сервера, что бы иметь возможность аутентифицировать сервер. Напротив, сервер должен обладать собственным (подписанным сертификатом) ключом, которым будет производиться шифрование и сертификатом ключа клиента, что бы иметь возможность аутентифицировать клиента. Хранилище ключей клиента будет содержать: 1) Ключ клиента К1. 2) Сертификат С1 для ключа клиента К1. 3) Сертификат С2 для ключа сервера К2. Хранилище ключей сервера будет содержать: 1) Ключ сервера К2. 2) Сертификат С2 для ключа сервера К2. 3) Сертификат С1 для ключа клиента К1. Создание фабрик защищенных сокетов для RMI клиента и сервера. Технология RMI позволяет нам самостоятельно определить фабрику, которая будет создавать сокеты для соединения клиента и сервера. Одним из способов является реализация интерфейсов RMIServerSocketFactory и RMIClientSocketFactory, для сервера и клиента соответственно. 1) Создадим фабрику SSL сокетов для клиента.
2) Создадим фабрику SSL сокетов для сервера.
3) Применение фабрики для сервера во время создания компонента локального регистра:
4) Применение фабрики для клиента:
Надеюсь данная статья будет полезна общественности, а я в свою очередь постараюсь ответить на все вопросы по этой теме. Желаю удачи! ![]() |
||||||||
|
|||||||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Круто!
Добавил в FAQ. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |