问题描述
我已经安装了 OpenSSL,我可以使用命令 openssl version
检查它,但是当我添加与 OpenSSL 相关的头文件时,比如说计算 HMAC,我收到错误“没有这样的文件或目录”。如果我用代码创建一个简单的 C 文件并使用命令 gcc test.c -lssl -lcrypto
运行它,我会得到输出。我想在 rpl-icmp6.c
目录的 core/net/rpl
文件中使用这个库。
解决方法
简短的回答是无法在 Contiki 中集成 OpenSSL。为什么? OpenSSL 的名称来自“Secure Socket Library”,Contiki 中没有套接字。您无法使用 OpenSSL,因为缺少它期望的核心 API。
然而,您可以从 OpenSSL 中提取一些代码,例如各种加密原语的实现,并将它们作为常规 C 源文件集成到 Contiki 中。这样做超出了本答案的范围。