#java #ssl #nio
#java #ssl #nio
Вопрос:
Я хочу реализовать SSL поверх своего Java-приложения с помощью NIO. Искали в Интернете то же самое, но не смогли продолжить. Пример кода реализации был бы большим подспорьем.
Комментарии:
1. Ваш вопрос неясен: вы хотите реализовать протокол SSL самостоятельно или вы хотите передавать данные по защищенному SSL туннелю?
2. Сначала нажмите на Google для «nio ssl»: onjava.com/onjava/2004/11/03/ssl-nio.html Вы действительно искали «в Интернете»?
3. в Google есть много чего. Например rox-xmlrpc.sourceforge.net/niotut/index.html#NIO и SSL на 1.4
4. Как насчет jboss netty? Проверьте jboss.org/netty
Ответ №1:
С SSLEngine, но имейте в виду, что это не шутка. В JDK есть некоторый пример кода, но он делает некоторые довольно несостоятельные предположения, такие как только одно рукопожатие на соединение, только в режиме клиента и т.д. Интеграция с селектором особенно проблематична.
Ответ №2:
Как сказал Фрик, посмотрите на netty из Jboss. В их разделе документации есть пример с использованием SSL.
Ответ №3:
SSLEngine — это стандартный способ выполнения SSL / TLS с NIO в Java.
Но это серьезно сложно в использовании и не рекомендуется для приложений, которым просто нужен защищенный сокет.
К счастью, существует по крайней мере одна альтернатива библиотеке: канал TLS обертывает SSLContext (или SSLEngine) и предоставляет интерфейс байтового канала, выполняя тяжелую работу внутри.
(Отказ от ответственности: я являюсь основным автором библиотеки)