Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Ture  
#1 Оставлено : 11 февраля 2017 г. 9:59:46(UTC)
Ture

Статус: Новичок

Группы: Участники
Зарегистрирован: 11.02.2017(UTC)
Сообщений: 2
Российская Федерация
Откуда: Мызьква

Сказал(а) «Спасибо»: 2 раз
Добрый день.

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

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

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

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

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

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

Ps: простите за многословность, я хотел сразу описать все детали архитектуры, чтоб было легче меня понять.
Offline Дмитрий Пичулин  
#2 Оставлено : 11 февраля 2017 г. 14:35:43(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,449
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 417 раз в 308 постах
Автор: Ture Перейти к цитате
Я делаю свой web-сервер.

...

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

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

Скорее никак.

Создавайте и передавайте дочернему процессу локальный сокет и проксируйте туда открытые данные.



Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил pd за этот пост.
Ture оставлено 13.02.2017(UTC)
Offline Ture  
#3 Оставлено : 11 февраля 2017 г. 15:09:14(UTC)
Ture

Статус: Новичок

Группы: Участники
Зарегистрирован: 11.02.2017(UTC)
Сообщений: 2
Российская Федерация
Откуда: Мызьква

Сказал(а) «Спасибо»: 2 раз
Т.е. нет возможности передать права на хендл другому процессу (как сокетом клиента или другими дескрипторами) и нет смысла передавать структуру sechandle как массив байт по сокету?
Может как-то еще расшарить мандаты есть возможность?
Олицетворить сервер клиентом то же не получилось.
Offline Дмитрий Пичулин  
#4 Оставлено : 11 февраля 2017 г. 16:11:52(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,449
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 417 раз в 308 постах
О практике передачи ответственности за TLS соединение между процессами нам неизвестно.

Так как ни один из существующих серверов подобным не занимается, возможно, вы двигаетесь в неверном направлении.

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил pd за этот пост.
Ture оставлено 13.02.2017(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.