#ssl #sslsocketfactory #jacorb
#ssl #sslsocketfactory #jacorb
Вопрос:
Я настраиваю jacorb для использования с SSL. Выбранные порты сервера / клиента являются случайными. Мне нужно указать диапазон портов, очень похожих на PortRangeSocketFactory / PortRangeServerSocketFactory в случае конфигурации, отличной от SSL.
Я пытаюсь избежать свойства OASSLPort, поскольку порт становится фиксированным (вместо диапазона) и применим только для портов сервера / прослушивания. Порты клиента по-прежнему будут случайными.
У меня есть набор процессов, некоторые из которых действуют как сервер, так и клиент — с jacorb.properties совместно используемыми.
Текущая конфигурация 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:
Это было достигнуто путем написания пользовательских фабрик:
- PortRangeSSLServerSocketFactory расширяет и составляет класс SSLServerSocketFactory jsse.
переопределенная функция configure() также считывает конфигурацию минимального / максимального порта из jacorb.properties.
Переопределение createServerSocket() для обработки выбора порта. Логика импортирована из org.jacorb.orb.factory.PortRangeServerSocketFactory.
- PortRangeSSLSocketFactory расширяет AbstractSocketFactory. Логика SSL импортирована из org.jacorb.security.ssl.sun_jsse.SSLSocketFactory, а логика выбора диапазона портов импортирована из org.jacorb.orb.factory.PortRangeSocketFactory.
Обрабатываются случаи с несколькими домами для обоих с помощью свойства OAIAddr.
Плюсы: возможно множество настроек. Минусы: минимальное использование кода, так как многие атрибуты и методы, логика которых была реализована, были частными.