Search:

Протокол SSL

Следующим шагом будет добавление защиты пересылаемой информации, для этого на обоих сторонах соединения необходимо будет пользоваться для пересылки информации не обычными сокетами, а сокетами SSL и, внимание, нам необходимо будет затребовать аутентификацию клиента делающего соединение к серверу. Однако это будет после а пока я привожу файл конфигурации необходимый для работы просто "Redirector"-а.

Давайте кратко рассмотрим основные моменты работы программы:

Информация о перенаправлениях хранится в файле конфигурации, каждый элемент Route задает порт локальной машины, который будет слушаться на предмет входящих запросов, а также соответственно адрес и порт удаленной машины, куда запрос должен быть переправлен.

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

При вызове конструктора класса AbstractRedirector в качестве параметра передается имя файла настроек. Из данного файла читаются все элементы Route и помещаются в специальный массив. После создания объекта класса для начала непосредственно обслуживания должна быть вызвана функция synchroRun. Данная функция создает набор экземпляров безымянного класса производного от Thread в данном классе перекрыта функция run, которая в цикле читает побайтно информацию из сокета входящего запроса и отправляет его в поток вывода для сокета исходящего соединения. Данный цикл прекращается, когда сокетное соединение с любой из двух сторон будет прервано.

Как демонстрацию принципов работы данного приложения привожу следующую СЛС.

Рисунок 3.

Рисунок 4.

Код примера. Защищаем сетевой туннель.

А теперь давайте добавим возможность выполнения туннелирования через протокол SSL. Общая схема реализованного приложения практически идентична общей схеме создания VPN которую я приводил ранее. Небольшие отличия я привожу в виде следующей СЛС

Рисунок 5.

Разумеется что для работы следующего кода нам потребуется внести изменения в файл конфигурации. Необходимо будет добавить новый элемент "SSL-section".

<SSL-section>

<Keystore-path>E:mdocskolyacbuilder_projects

httpd-sslstore</Keystore-path>

<Keystore-password>bigsecret</Keystore-password>

<Alias-password>bigsecret</Alias-password>

</SSL-section>

И, наконец, я привожу исходный код примера. Обратите внимание на то что в классе SSLRedirector порожденном от AbstractRedirector я перекрыл метод initForRun добавив в него чтение "SSL" секции файла конфигурации, теперь каждому элементу Route необходимо будет добавить как характеристику признак того следует ли выполнять защиту описываемого туннеля. И следовательно мне пришлось расширить класс Route, создав класс SSLRoute и добавив в него булевскую переменную, выполняющую роль признака надо или нет выполнять защиту туннеля. Разумеется, что изменения также затронули и ключевые методы getServerSocket и getClientSocket. Теперь эти методы способны в зависимости от настроек переданного им в качестве параметра объкта SSLRoute создать или просто ServerSocket и соответственно Socket или же если поле plainToSecret установлено в true, то будет создан SSLSocket-ы.

Перейти на сторінку номер:
 1  2  3  4  5  6  7  8  9  10  11  12  13 


Подібні реферати:

Запити, фільтри, використання та функціональне призначення

Що таке фільтр Довідка (Help) дає визначення поняттю “фільтр” так: “Набір умов, які застосовуються для добору підмножини записів чи для сортування записів. У Microsoft Access існують фільтри чотирьох типів: фільтр по виділеному фрагменту, звичайний фільтр, розширений фільтр і фільтр по вводу.” У свою чергу, умова відбору визначається як “набір обмежувальних умов, наприклад, = "Україна" (означаюче, що потрібно строкове значення "Україна") чи > 30000, використовуваних для висновку визначеного набору ...

Програми архіватори WinZip, WinRar

При експлуатації комп'ютера з різних причин можливе пошкодження або втрата інформації на магнітних дисках. Це може відбутися внаслідок як фізичного пошкодження дисків, так і пошкодження інформації вірусом. І тому для зменшення втрат в таких випадках, потрібно мати архівні копії файлів. Для отримання копій файлів, використовують команди копіювання MS DOS. Але в цьому випадку копії будуть займати багато місця, що змушує мати велику кількість дискет. Більш доцільно використовувати для створення архівних копій спеціально ...

Алгоритми і програми з розгалуженнями

План. Оператор безумовного переходу (goto). Умовні оператори. Складена команда. Література: Я.М. Глинський. Інформатика. Алгоритмізація і програмування. Книжка 1. с. 67-85. 1 Оператор безумовного переходу (goto). Команду переходу використовують щоб змінити порядок виконання команд у програмі. Вона має такий вигляд: goto – перекладається “перейти на”, де “мітка” – це адрес команди (оператора), на який потрібно перейти. Мітка може бути числом від 0 до 9999 або ідентифікатор, після якого є символ (:). Приклади міток: 10:, ...