2011-10-07 56 views
1

我想写一个基本的套接字聊天应用程序,除了加密。你知道所有那些在命令行中运行服务器和客户端的套接字编程示例,它会来回发送消息。像那样,除了有很好的加密。知道基本加密聊天的任何好例子吗? (GnuTLS?)

Diffie-Hellman密钥交换,没有证书权威废话,也许一些建立连接后的ECDSA。

GnuTLS支持所有这些,但将文档拼凑在一起比看到已经有效的东西更令人困惑。

PS:语言无关紧要,在Google上搜索了几个星期后,没有发现任何文档,但我真的不在乎。它只是需要一些代码可行。

谢谢!

回答

1

Python有很大的GnuTLS支持。

如果你使用debian/ubuntu,你所需要做的就是apt-get install python-gnutls。在文档中是使用双绞线的基本加密客户机/服务器的示例。

0

我强烈建议使用SSL库,如OpenSSL。一个好的起点可能是http://www.rtfm.com/openssl-examples/。我发现,谷歌很快,但可能有很多其他人。

+0

嘿,感谢您的提示,但根据我的IRCD的文档,GnuTLS表现更好。 http://wiki.inspircd.org/Modules/ssl_gnutls 也许它是特定于实现的,在大多数情况下可能并不重要。只是一个想法。 – rachelderp

+0

完全没有回答这个问题。 1)SSL,2)OpenSSL而不是GnuTLS。 – Xorlev

+0

@rachelderp - 我只是在考虑易用性。 SSL有很好的文档记录并且易于使用。我并不是指特定的实现。 –

0

通过阅读这个问题,我可以理解你不了解底层技术。如果你想要的例子,你可以检查gnutls的例子: http://www.gnu.org/software/gnutls/manual/html_node/Client-examples.html#Client-examples 但是,你最好阅读整本手册,以了解真正发生了什么,以及Diffie Hellman和ECDSA如何发挥作用。 (ECDSA是用于签署证书的签名算法)。如果您想要完全避免证书,GnuTLS支持完全不需要证书的密码套件(检查SRP和PSK身份验证)。

(顺便说一句,我的GnuTLS的作者之一,所以考虑偏向任何建议)