Ошибка DTLSv1_Listen - PullRequest
       71

Ошибка DTLSv1_Listen

0 голосов
/ 03 января 2019

Я сейчас пишу сервер DTLS.Я столкнулся с проблемой с DTLSv1_Listen, которая завершается ошибкой с кодом ошибки SSL_ERROR_SSL.

Последовательность рукопожатия следующая: Тип содержимого приветствия клиента: Рукопожатие (22) Версия: DTLS 1.2 (0xfefd) Эпоха: 0 Номер последовательности: 0 Длина: 145 Протокол рукопожатия: клиентское приветствие Тип рукопожатия: клиентское приветствие (1) Длина: 133 Последовательность сообщений: 0 Смещение фрагмента: 0 Длина фрагмента: 133 Версия: DTLS 1.2 (0xfefd) Случайная: 10a0b17d31c7b374d08d51f3fdd3e6b5ecb13658a9e554a3 ... Длина идентификатора cookie: длина сеанса: 0: 0 Длина набора шифров: 6 Наборов шифров (3 набора) Методы сжатия Длина: 1 Методы сжатия (1 метод) Длина расширений: 85 Расширение: ec_point_formats (len = 4) Расширение: support_groups (len = 28) Расширение: SessionTicket TLS (len= 0) Расширение: signature_algorithms (len = 32) Расширение: heartbeat (len = 1)

Тип содержимого запроса проверки подлинности Hello: Рукопожатие (22) Версия: DTLS 1.2 (0xfefd) Эпоха: 0 Порядковый номер: 0 Длина: 35 Протокол рукопожатия: Hello Verify Request Handshake Тип: Hello Verify Request (3) Длина: 23 Последовательность сообщений: 0 Смещение фрагмента: 0 Длина фрагмента: 23 Версия: DTLS 1.0 (0xfeff) Длина cookie: 20 Cookie: c4994e593cd77b26208a374cde0b48372a1636db

Уровень записи DTLSv1.2:Оповещение (Уровень: Неустранимый, Описание: Сбой при рукопожатии) Тип контента: Оповещение (21) Версия: DTLS 1.2 (0xfefd) Эпоха: 0 Порядковый номер: 1 Длина: 2 Оповещение

Мой контекст ssl инициализируется таким образом:

 SSL_library_init ();
 SSL_load_error_strings ();
 ERR_load_BIO_strings();
 OpenSSL_add_all_algorithms();

 pServerContext = SSL_CTX_new(DTLSv1_2_server_method());

    if (SSL_CTX_set_cipher_list(pServerContext, "ALL") != 1)
    {
      getLogger()->error("DTLS : unable to load ciphers, exiting\n");
      exit(1);
    }

[... установить сертификаты, ключ и т.д ...]

Возвращенный файл cookie верен, и я не вижу, что не так.Единственным странным моментом является версия: DTLS 1.0, отправленная в запросе на проверку (странно, потому что я инициализирован с DTLSv1_2_server_method).Есть ли объяснение, почему это не удается?

Спасибо за любой вклад!

...