OpenSSL C ++ DTLS клиент

Я пытаюсь установить соединение DTLS с помощью openssl (c ++).

Однако в то время как есть DTLSv1_listen() функция на стороне сервера Я не могу найти эквивалент на стороне клиента, чтобы фактически установить соединение UDP с сервером от клиента. Или отправьте что-нибудь на сервер DTLS. Может ли кто-нибудь помочь мне понять, как установить «соединение» с сервером DTLS (я знаю, что точка UDP и обмен дейтаграммами должны быть без соединения, но под соединением я имею в виду схему, такую ​​как запрос DNS + ответ)?

Мне нужно отправить одно сообщение на сервер, а затем получить 1 ответное сообщение. Зашифрованные. С проверкой сертификата. Как такая схема связи будет работать в мире DTLS?

-1

Решение

На стороне клиента вы создаете UDP-socketПередайте это с BIO_new_dgram к SSL контекст и связать его с connect() или же BIO_ctrl(bio, BIO_CTRL_DGRAM_SET_CONNECTED, 0, &server_sockaddr), Соединение просто заставляет записываемые файловые дескрипторы всегда отправляться server_sockaddr,

Теперь просто сделать регулярный SSL_connect и это должно работать.

Для серверной стороны это немного сложнее. я сделал сообщение и пример реализации

-1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector