Java: используйте SSLEngine с селектором

Я собираюсь написать приложение Java, которое использует Селектор для мультиплексирования каналов сокета. У меня будет конфигурация, в которой связь будет зашифрована с помощью SSL, а другая - без использования SSL. Я раньше не использовал SSLEngine и интеграция его с селектором кажется ... трудной задачей.

Как я могу аккуратно обрабатывать обе конфигурации? Кто-нибудь делал это? Образец кода был бы отличным.

ПРИМЕЧАНИЕ: я уже видел эти статьи.

http://archive.oreilly.com/pub/a/onjava/2004/11/03/ssl-nio.html https://jfarcand.wordpress.com/2006/09/21/tricks-and-tips-with-nio-part-v-ssl-and-nio-friend-or-foe/ http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#SSLENG.


person minus    schedule 06.11.2015    source источник
comment
Одна вещь, которую я помню, пытаясь сделать это несколько лет назад, - это то, что это чрезвычайно сложно из-за всех этапов рукопожатия и переговоров. Стоит отметить, что, хотя было время, когда «один поток на соединение» считался очень плохим дизайном, это уже не так из-за более легкого характера потоков в современных операционных системах. Вы обнаружите, что кодировать один поток на каждое SSL-соединение значительно проще.   -  person VGR    schedule 06.11.2015
comment
Мой вопрос не дублируется: stackoverflow.com/questions/27144953/. Могут быть Selector и SSLEngine, но вопрос совсем не тот. Ответ на этот вопрос не отвечает на мой вопрос.   -  person minus    schedule 06.11.2015
comment
Ответ на оба вопроса - делать именно то, что вам говорит SSLEngine. Если вам нужно готовое решение, см. здесь.   -  person user207421    schedule 07.11.2015
comment
@EJP Возможно, вам не понравится мой вопрос, но это не дубликат. Я спрашиваю, как иметь две конфигурации: одну для SSL и другую, не являющуюся SSL, а не как использовать SSLEngine. Ссылка, которую вы предоставили, полезна, но не является моей копией. Ответ VGR более точен.   -  person minus    schedule 07.11.2015
comment
Я предоставил ссылку на коммерческий продукт, который делает именно то, что вы просите, и я недавно добавил к нему поддержку асинхронного SSL.   -  person user207421    schedule 12.11.2015
comment
Итак, вы хотите продать мне свое программное обеспечение? Потрясающие...   -  person minus    schedule 13.11.2015