2

我的东西是由几个组件组成的,其中一些是用 C 编写的。由于我想添加一些安全功能,我正在考虑通过 SSL/TLS 层进行通信。

你能给我一些好的库来做这个(如果可能的话)吗?

4

5 回答 5

4

GnuTLS(请注意,它主要是 LGPL 而不是 GPL,因此您可以链接到它)。至少我更喜欢它的 API 而不是OpenSSL

还有 Mozilla 的NSS

于 2009-04-19T11:50:47.210 回答
2

OpenSSL怎么样?

于 2008-10-09T12:13:09.453 回答
2

我们使用axTLS,它在我们的服务器 (.NET) 和我们的嵌入式系统(Linux 和 uClinux)上都非常有效。我们在让 OpenSSL 在 uClinux 上正常工作时遇到了问题。
axTLS 的功能不如 OpenSSL 完整,因此请确保在使用前满足您的要求。

于 2008-10-09T12:22:26.483 回答
0

我建议不要花时间尝试在您的应用程序中实现 SSL 功能。相反,您可以只使用现有的 SSL 隧道软件,该软件在您现有的套接字应用程序前面创建一个 SSL 隧道。

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

例如,您可以告诉 SSL 隧道侦听端口 443 (https) 并将所有解密的数据包转发到端口 80 (http)。对于您的自定义应用程序,它只会看到解密的数据包。

有很多免费的应用程序可以做到这一点。只需谷歌一个。

于 2009-04-20T02:03:20.373 回答
0

CyaSSL 将是一个很好的选择。这是一个用 C 语言编写的嵌入式 SSL 库,已针对速度和大小进行了优化。它最多可以比 OpenSSL 小 20 倍,而且速度也快很多。

功能列表中包括 30-100kb 的最小大小和 OpenSSL 兼容层。完整的功能列表可以在 yaSSL 网站上找到:

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

它在开源 GPLv2 和商业许可下双重许可(用于支持)。它非常频繁地更新新功能。我认为其中一个很酷的功能是支持来自 eStream 项目的 RABBIT 和 HC-128 流密码。

于 2010-10-29T17:19:19.117 回答