Есть ли способ указать диапазон портов для SSLSocketFactory и SSLServerSocketFactory - PullRequest
0 голосов
/ 22 апреля 2019

Я настраиваю jacorb для использования с SSL. Выбранные порты сервер / клиент случайные. Мне нужно указать диапазон портов, очень похожих на PortRangeSocketFactory / PortRangeServerSocketFactory в случае конфигурации без SSL.

Я пытаюсь избежать свойства OASSLPort , поскольку порт становится фиксированным (вместо диапазона) и применим только для портов сервера / прослушивания. Клиентские порты по-прежнему будут случайными.

У меня есть набор процессов, некоторые из которых выступают как серверные, так и клиентские, с jacorb.properties shared.

Текущий jacorb.properties Конфигурация:

jacorb.ssl.socket_factory=org.jacorb.security.ssl.sun_jsse.SSLSocketFactory
jacorb.ssl.server_socket_factory=org.jacorb.security.ssl.sun_jsse.SSLServerSocketFactory

Я использую Jacorb 3.9, RHEL 7.3 и Java 1.8.0_171.

1 Ответ

0 голосов
/ 28 апреля 2019

Достигнуто это путем написания пользовательских фабрик:

  1. PortRangeSSLServerSocketFactory расширение и составление класса jsse SSLServerSocketFactory.

configure () переопределяется, чтобы также прочитать конфигурацию порта min / max из jacorb.properties .

createServerSocket () переопределено для обработки выбора порта. Логика импортирована из org.jacorb.orb.factory.PortRangeServerSocketFactory .

  1. PortRangeSSLSocketFactory расширение AbstractSocketFactory . Логика SSL, импортированная из org.jacorb.security.ssl.sun_jsse.SSLSocketFactory и логика выбора диапазона портов, импортированная из org.jacorb.orb.factory.PortRangeSocketFactory .

Обработка мультидоменных дел для обоих через свойство OAIAddr .

Плюсы: возможно множество настроек. Минусы: минимальное использование кода, так как многие атрибуты и методы, чья логика была реализована, были частными.

...