![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Slavca |
|
||||||||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.2.2005 Где: Новосибирск Репутация: 3 Всего: 5 |
Здравствуйте.
Вот захотелось написать Как сделать SSL соединение на Java с использованием сокетов. Процесс создания соединения через SSL включает несколько этапов:
В приложении описано как создать ключи и хранилище ключей. 1. Создание объекта для хранилища ключей.
Итак, для привязки к какому-либо хранилищу ключей используются объекты класса KeyStore. Получить объект этого класса можно с помощью одного из трех статических методов getInstance(...). Первый параметр - строка - тип хранилища ключей. Второй параметр - либо объект класса Provider, либо строка - провайдер для указанного типа хранилища данных. После этого требуется загрузить хранилище данных, для этого используется метод load(...). Первый параметр - входной поток типа InputStream откуда производится загрузка (в нашем случае хранилище ключей - это файл), второй - пароль хранилища ключей. 2. Создание менежеров ключей и доверий.
Для создания менеджеров потребуются: алгоритмы запросов к хранилищу данных и провайдеры для них. Оба менеджера требуется инициализировать. Менеджеру доверий нужно указать хранилище ключей, а менеджеру ключей - хранилище и пароль ключа, который будет использоваться для соединения. 3. Создание контекста SSL.
Как и менеджеры объект контекста SSL требует создания и последующей инициализации. При создании указываются протокол передачи данных и провайдер для указанного протокола. При инициализации указываются два массива: один для ключей, второй для доверий. 4. Создание сокетов (серверного и клиентского). Теперь мы можем создать серверный и клиентский сокеты, которые можно будет использовать как обычные серверный и клиентский сокеты. Создание серверного сокета:
Создание клиентского соката:
Все. Теперь приложение: Работа с ключами производится с помощью утилиты keytool, входящей в состав SDK. Обычно выполняется три шага:
Генерирование ключа.
1 - алиас для ключа, 2 - алгоритм шифрования (типа rsa), 3 - размер ключа (от 512 до 2048), 4 - количество дней, пока ключ действителен, 5 - пароль ключа, 6 - имя файла - хранилища ключей, 7 - пароль хранилища. Экспорт ключа в сертификат.
1 - алиас экспортируемого ключа, 2 - файл сертификата (*.cer), 3 - файл хранилища ключей, 4 - пароль хранилища ключей. Импорт ключа из сертификата в хранилище ключей для клиента.
1 - алиас под которым будет храниться импортируемый ключ, 2 - файл сертификата (*.cer), 3 - пароль ключа, 4 - файл хранилища ключей, 5 - пароль хранилища ключей. //---------------------------------------------------------------------- P.S.: Ногами больно не пинайте. Писать я толком не умею. Может что-то объяснить сильнее надо было, напишите, подправлю. Всем спасибо за внимание. |
||||||||||||||||
|
|||||||||||||||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 2 Всего: 118 |
Статья понравилась. Было бы просто супер, если бы был пример реально работающего приложения. Чтобы можно было у себя на машинке запустить и передать строку от клиента к серверу. Но все равно СПАСИБО
|
|||
|
||||
| Slavca |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 17.2.2005 Где: Новосибирск Репутация: 3 Всего: 5 |
Пример сделаю. Но как его разместить? У меня сваво сайта нету.
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 2 Всего: 118 |
Прямо здесь размещай текст. Я не думаю, что он просто огромен. Или высылай мне.
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
А как быть с Proxy и авторизации в нём?
|
|||
|
||||
![]()
|
| Правила форума "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. |