Знаете ли вы хорошие примеры для простого зашифрованного чата?(GnuTLS?) - PullRequest
1 голос
/ 07 октября 2011

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

Обмен ключами Диффи-Хеллмана, ни одно из этого дерьма центра сертификации и, возможно, какой-нибудь ECDSA после установления соединения.

GnuTLS поддерживает все это, но объединение кусочков документации намного более запутанно, чем наблюдение того, что что-то уже работает.

PS: язык не имеет значения, после нескольких недель поиска в Google и не найдя ничего, кроме фрагментов документации, мне действительно все равно. Это просто код, который работает.

Спасибо!

Ответы [ 3 ]

1 голос
/ 27 марта 2012

Python имеет отличную поддержку GnuTLS.

Если вы используете Debian / Ubuntu, все, что вам нужно сделать, это apt-get install python-gnutls. В документации приведены примеры для базового зашифрованного клиента / сервера с использованием витых.

0 голосов
/ 10 октября 2011

Читая вопрос, я понимаю, что вы не очень хорошо понимаете основную технологию. Если вы хотите примеры, вы можете проверить примеры gnutls на: http://www.gnu.org/software/gnutls/manual/html_node/Client-examples.html#Client-examples Но было бы лучше, если бы вы прочитали руководство полностью, чтобы понять, что на самом деле происходит, и как начинают играть Диффи Хеллман и ECDSA. (ECDSA - это алгоритм подписи, используемый для подписи сертификатов). Если вы хотите вообще избежать сертификатов, GnuTLS поддерживает наборы шифров, которые вообще не требуют сертификатов (проверьте аутентификацию SRP и PSK).

(кстати. Я один из авторов GnuTLS, поэтому считаю любые предложения предвзятыми)

0 голосов
/ 07 октября 2011

Я настоятельно рекомендую использовать библиотеку SSL, такую ​​как OpenSSL.Хорошей отправной точкой может быть http://www.rtfm.com/openssl-examples/. Я нашел это с помощью быстрого Google, но, вероятно, есть много других.

...