Обработка SSL-соединений из скрипта inetd ruby

Я хочу запустить сценарий Ruby, который обрабатывает зашифрованные сообщения от inetd. Поскольку мне нужна информация о сертификате для дальнейшей обработки, я не могу «разгрузить» SSL на что-то вроде stunnel.

Для этого мне нужно каким-то образом использовать STDIN и STDOUT с объектом Ruby SSL. К сожалению, OpenSSL:SSL:SSLSocket принимает ввод-вывод только в своем конструкторе. Есть ли способ связать STDIN и STDOUT с вводом-выводом, чтобы он читал со стандартного ввода и писал на стандартный вывод?


person icanhasserver    schedule 25.06.2011    source источник


Ответы (1)


$stdin и $stdout могут взаимозаменяемо использоваться как объекты IO. Вы можете передать их в SSLSocket. Это помогает? В противном случае мне понадобится больше кода, чтобы помочь вам.

person emboss    schedule 12.07.2011
comment
Они не работают напрямую, но добавление некоторых дополнительных вызовов позволяет SSLSocket нормально принимать стандартный ввод и стандартный вывод: OpenSSL::SSL::SSLSocket.new(Socket.for_fd($stdin.fileno)) - person icanhasserver; 18.07.2011