Как передать сокет OpenSSL другому процессу - PullRequest
1 голос
/ 19 марта 2011

Я хочу передать сокет SSL (вместе с его сеансом SSL) другому процессу.Возможно ли это?

В реализации сокетов, отличных от SSL, я использую WSADuplicateSocket (Windows API) для получения информации о сокете, а затем отправляю ее другому процессу для создания дублированного сокета.

Как я могу сделать это на сокете SSL?Какую информацию я должен передать второму процессу, чтобы позволить им создать дублированный сокет и продолжить сеанс SSL из первого процесса?Как только сокет будет передан второму процессу, первый процесс закроет свой дескриптор сокета.

1 Ответ

2 голосов
/ 20 марта 2011

Нет, это невозможно. Сокет - это объект ОС, поэтому вы можете дублировать дескриптор сокета в другом процессе. OpenSSL, с другой стороны, является библиотекой уровня приложения, которая просто находится на вершине любой инфраструктуры соединений, которую вы решите использовать для физического общения. Таким образом, вы не можете дублировать структуры SSL и конечный автомат, которые подключены к исходному сокету, так как он не может использоваться совместно через границы процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...