【发布时间】:2008-10-09 11:59:00
【问题描述】:
我的东西由几个组件组成,其中一些是用 C 编写的。由于我想添加一些安全功能,我正在考虑通过 SSL/TLS 层进行通信。
你能给我一些好的库来做这个吗(如果可能的话)?
【问题讨论】:
我的东西由几个组件组成,其中一些是用 C 编写的。由于我想添加一些安全功能,我正在考虑通过 SSL/TLS 层进行通信。
你能给我一些好的库来做这个吗(如果可能的话)?
【问题讨论】:
我们使用axTLS,它在我们的服务器 (.NET) 和我们的嵌入式系统(Linux 和 uClinux)上都运行良好。我们无法让 OpenSSL 在 uClinux 上正常工作。
axTLS 的功能还没有 OpenSSL 完整,所以在使用它之前请确保它满足您的要求。
【讨论】:
OpenSSL怎么样?
【讨论】:
我建议您不要花时间尝试在您的应用中实现 SSL 功能。相反,您可以只使用现有的 SSL 隧道软件,该软件会在您现有的套接字应用程序前面创建一个 SSL 隧道。
Internet --- [SSLTunnel] --- Your App
例如,您可以告诉 SSL 隧道侦听端口 443 (https),并将所有解密的数据包转发到端口 80 (http)。对于您的自定义应用程序,它只会看到解密的数据包。
有很多免费的应用程序可以做到这一点。只需谷歌即可。
【讨论】:
CyaSSL 将是一个很好的选择。这是一个用 C 语言编写的嵌入式 SSL 库,已针对速度和大小进行了优化。它最多可以比 OpenSSL 小 20 倍,而且速度也快很多。
功能列表中包括 30-100kb 的最小大小和 OpenSSL 兼容层。完整的功能列表可以在 yaSSL 网站上找到:
http://www.yassl.com/yaSSL/Products_cyassl.html.
它在开源 GPLv2 和商业许可下双重许可(用于支持)。它非常频繁地更新新功能。我认为其中一个很酷的功能是支持来自 eStream 项目的 RABBIT 和 HC-128 流密码。
【讨论】: