【问题标题】:Know any good examples for a basic encrypted chat? (GnuTLS?)知道基本加密聊天的任何好例子吗? (GnuTLS?)
【发布时间】:2011-10-07 11:07:44
【问题描述】:

我想编写一个基本的套接字聊天应用程序,但加密除外。您知道所有在命令行中运行服务器和客户端并来回发送消息的套接字编程示例。就像那样,除了加密很好。

Diffie-Hellman 密钥交换,没有证书颁发机构的废话,一旦建立连接,可能还有一些 ECDSA。

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

PS:语言无关紧要,在 Google 上挖掘了数周后,除了文档之外什么也没找到,我真的不在乎。它只需要一些有效的代码。

谢谢!

【问题讨论】:

    标签: sockets encryption chat ssl


    【解决方案1】:

    Python 具有出色的 GnuTLS 支持。

    如果您使用 debian/ubuntu,您只需apt-get install python-gnutls。在文档中是使用扭曲的基本加密客户端/服务器的示例。

    【讨论】:

      【解决方案2】:

      我强烈建议使用 SSL 库,例如 OpenSSL。一个好的起点可能是http://www.rtfm.com/openssl-examples/。我通过快速 google 发现了这一点,但可能还有很多其他的。

      【讨论】:

      • 嘿,感谢您的提示,但根据我的 IRCD 文档,GnuTLS 的性能更好。 wiki.inspircd.org/Modules/ssl_gnutls 也许它是特定于实现的,在大多数情况下可能无关紧要。只是一个想法。
      • 根本不回答这个问题。 1) SSL,2) OpenSSL 而不是 GnuTLS。
      • @rachelderp -- 我只是在考虑易用性。 SSL 有据可查且易于使用。我指的不是特定的实现。
      • @Xorlev -- TLS 只是 SSL 3.x。
      【解决方案3】:

      通过阅读问题,我可以理解您对底层技术的理解并不好。如果您需要示例,可以在以下位置查看 gnutls 示例: http://www.gnu.org/software/gnutls/manual/html_node/Client-examples.html#Client-examples 但您最好阅读整本手册以了解实际情况以及 Diffie Hellman 和 ECDSA 是如何发挥作用的。 (ECDSA 是一种用于签署证书的签名算法)。如果您想完全避免使用证书,GnuTLS 支持根本不需要证书的密码套件(检查 SRP 和 PSK 身份验证)。

      (顺便说一句。我是 GnuTLS 的作者之一,因此请考虑任何有偏见的建议)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-21
        • 2018-11-24
        • 2012-02-07
        • 1970-01-01
        • 2023-01-13
        相关资源
        最近更新 更多