Существует ли рекомендуемая библиотека DTLS?[закрыто]
-
21-09-2019 - |
Вопрос
Есть ли библиотека dtls, которую вы порекомендовали?
Решение
Вы можете взглянуть на OpenSSL.Он поддерживает протоколы TLS и DTLS.
Чтобы получить пример, вы также можете посмотреть исходный код ОпенВПН.
Я реализовал уровень абстракции C++ для TLS/DTLS, используя эти источники.
В любом случае вам придется быть очень терпеливым, поскольку OpenSSL API разбросан по нескольким источникам и не обеспечивает эффективного способа «поиска» определенной функции или структуры.
Другие советы
Я написал комментарий/руководство о том, как Сетевой SNMP использовал OpenSSL для реализации DTLS:
http://www.net-snmp.org/wiki/index.php/DTLS_Implementation_Notes
К сожалению, в нем, вероятно, есть несколько неправильных и устаревших вещей.Но это все же лучшая отправная точка, потому что там вообще очень мало полезной документации.
Открытый исходный код библиотека CyaSSL поддерживает как DTLS 1.0, так и DTLS 1.2, в дополнение к стандартным протоколам SSL/TLS до TLS 1.2.Написанный на C, существует также Java-обертка доступный.
А Руководство по CyaSSL является хорошим справочником по использованию и руководствам, а загружаемый пакет содержит примеры как клиента, так и сервера, которые помогут пользователям быстрее приступить к работе (находятся в каталоге ./examples).
Следующая статья в Википедии может быть хорошим ориентиром при сравнении библиотек SSL/TLS: http://en.wikipedia.org/wiki/Comparison_of_TLS_implementations.
DTLS также поддерживается в библиотеке GnuTLS.Информация об API и примеры приведены в разделе Руководство по GnuTLS.
Openssl начинает поддерживать DTLS 1.0 начиная с версии 0.9.8, а версия 1.0.1c или выше рекомендуется из-за некоторых исправлений, связанных с DTLS (поддержка DTLS-SRTP, предотвращение DoS-атаки DTLS и т. д.).
Если требуется DTLS 1.2, необходима версия openssl 1.1.0.