Добавление уровня TLS / SSL к коммуникациям ..? - PullRequest
2 голосов
/ 09 октября 2008

Мой материал состоит из нескольких компонентов, некоторые из которых написаны на C. Поскольку я хотел бы добавить некоторые функции безопасности, я думаю об общении через уровень SSL / TLS.

Не могли бы вы посоветовать мне хорошую библиотеку для этого (если это возможно)?

Ответы [ 5 ]

4 голосов
/ 19 апреля 2009

GnuTLS (Обратите внимание, что это в основном LGPL, а не GPL, поэтому вы можете ссылаться на него). По крайней мере, я предпочитаю, чтобы его API превышал OpenSSL .

Также есть Mozilla's NSS .

2 голосов
/ 09 октября 2008

Мы используем axTLS , который прекрасно работает как на нашем сервере (.NET), так и на наших встроенных системах (Linux и uClinux). У нас были проблемы с тем, чтобы OpenSSL хорошо работал на uClinux.
axTLS еще не так полон, как OpenSSL, поэтому перед его использованием убедитесь, что он соответствует вашим требованиям.

2 голосов
/ 09 октября 2008

Как насчет OpenSSL ?

0 голосов
/ 29 октября 2010

CyaSSL будет отличным выбором для рассмотрения. Это встроенная библиотека SSL, написанная на C, оптимизированная по скорости и размеру. Он может быть в 20 раз меньше OpenSSL, а также может быть немного быстрее.

Среди списка функций - минимальный размер 30-100 КБ и уровень совместимости OpenSSL. Полный список функций можно найти на веб-сайте yaSSL здесь:

http://www.yassl.com/yaSSL/Products_cyassl.html.

Это двойная лицензия на GPLv2 с открытым исходным кодом, а также коммерческая лицензия (для поддержки). Он очень часто обновляется новыми функциями. Я думаю, что одной из интересных особенностей является поддержка потоковых шифров RABBIT и HC-128 из проекта eStream.

0 голосов
/ 20 апреля 2009

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

Internet --- [SSLTunnel] --- Your App

Например, вы можете указать туннелю SSL прослушивать порт 443 (https) и пересылать все расшифрованные пакеты на порт 80 (http). Для вашего пользовательского приложения оно просто увидит расшифрованные пакеты.

Есть множество бесплатных приложений, которые делают это. Просто Google для одного.

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