LINUX.ORG.RU

Избранные сообщения ture

(cryptoapi) Как мне передать от родителя к дочернему процессу sechandle?

Форум — Security

Добрый день.

Я делаю свой web-сервер. Он состоит из мастер процесса, который принимает соединение, и воркеров (процессов, которые обрабатывают разные URL). В этом нет ничего нового, в действительности речь идет о двух видов расширения функциональности тривиального web-сервера (cgi и isapi).

Для протокола http я добился заметных, для меня успехов. Но чтоб привлечь интерес коллег к своему решению (а они помешанны на надежности и защищенности), мне нужно добавить работу по протоколу https.

Мастер процесс у меня принимает соединение, выполняет рукопожатие, вычитывает из совета запрос клиента и успешно его расшифровывает. Расшифрованные URL определяет обработчик и здесь, разумеется, у меня вопросов не возникает. Cgi расширение работает как часы.

Но некоторые URL должен обрабатывать дочерний процесс, который реализует работу с isapi. Т.е. Мастер процесс принял соединение и владеет мандатом клиента. Он передает дочернему процессу все сведения о расшифрованном запросе, включая сокет клиента. Дочерний процесс может читать сокет клиента и писать в него (в рамках протокола http, получив от родителя все сведения о клиенте, дочерний процесс больше не пользуется услугами родителя в рамках конкретно одного запроса и самостоятельно общается с клиентом).

Однако протокол https требует от дочернего процесса расшифровывать и зашифровывать трафик, т.е. Обладать мандатами клиента и сервера, которыми владеет родительский процесс.

Как мне передать от родителя к дочернему процессу sechandle?

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

 

ture
()