Openssl: закрытие сеанса прокси SSL - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь написать SSL-прокси, используя API openssl.Я использую память-био.Я хочу разобраться со случаями чистого выключения и грязного выключения.Предположим, у меня есть src-ssl (клиент-> прокси) и dst-ssl (прокси-> сервер)

В случае чистого выключения, я предполагаю, что сервер отправляет предупреждение закрыть уведомление, яЯ использую приведенный ниже код для обнаружения отключения на моем прокси.

Вопрос 1: Как я могу распространить это на другую сторону, т.е. на клиентский <-> прокси?Если есть запись 1 и предупреждение о записи как часть SSL_read, получу ли я это в этих 2 записях в моем out_buf?

read = SSL_read(ssl, out_buf, *out_buf_len);
if (read > 0) {
   success_read_len += read;
   *out_buf_len -= read;
  out_buf += read;
} else {
      ret = SSL_get_error(ssl, read);
      if ((ret == SSL_ERROR_ZERO_RETURN) &&
          (SSL_get_shutdown(ssl) & SSL_RECEIVED_SHUTDOWN)) {

      }
 }

Вопрос 2: Если я не получу эти 2 записи в моемвыходной буф, мне нужно передать ту же запись оповещения клиенту?

  • Если да, есть ли какие-либо API, которые я могу использовать для получения SSL-записей без использования какого-либо SSL-парсера?
  • Или я могу просто вызвать SSL_shutdown () и прочитать этот буфер из BIO и передать его клиенту?

Спасибо,

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