3

我想将 openssl 库与 contiki 一起使用。我已经安装了它并且头文件在 中/usr/include/openssl,但是包含这些头文件不起作用。我尝试将-lcrypto标志传递给编译器,但仍然没有成功。我需要使用另一个标志还是根本无法使用 OpenSSL 库?

4

1 回答 1

3

您已经安装了 OpenSSL 的主机版本,无法使用主机库为微控制器目标或任何与您正在编译它的主机不同的架构目标(严格来说)交叉编译二进制文件。

可以肯定的是,在任何 Contiki 平台上使用 OpenSSL 是相当不可能的。由于这个库对于任何微控制器来说都太大了,但是有可能能够破解对“本机”平台的支持。

您可能希望查看CyaSSL以了解替代解决方案,因为它已知适用于某些微控制器。您还可以考虑尝试其他 SSL 库(例如MatrixSSLSharkSSL)。其中一些是商业或免费的,仅用于非商业用途。

还有各种其他部分解决方案来保护网络流量:

  • 使用 HTTP(S) 代理(例如nginx)终止本地终端设备网络和 Internet 之间的 SSL 连接
  • 使用带有 Contiki 的内置加密加速器的 SoC(例如MC1322x
  • 使用Thingsquare Mist,它具有用于无线电网络加密和 WebSocket 的 AES API

如果您的项目使用 UDP(而不是 HTTPS 或其他 TCP 协议)就足够了,那么您可能希望查看Contiki 的 DTLS 实现。还存在IPSec 的实现,它可能适用于某些应用程序。

于 2013-05-21T22:32:39.470 回答