c - 如何在网络内核扩展中使用OpenSSL?

标签 c macos openssl kernel kernel-extension

我正在构建一个网络内核扩展,它需要 OpenSSL 库,方法是在我的一些项目文件中包含一些 header 。

问题是 OpenSSL 包含 stdlib.h (以及其他 header ),它们都会抛出错误(找不到文件)。如果我在项目文件中包含 stdlib.h ,也会发生同样的情况。

我猜这是因为它们在内核中不可用。 那么,我该如何包含它们呢?我错过了什么?

否则,如何在内核中包含 CommonCrypto 或任何加密库?

谢谢!

最佳答案

OpenSSL 和 CommonCrypto 是用户空间库。它们在内核中不可用。

CoreCrypto 的某些部分可在内核中的 <libkern/crypto/…> 下找到。和<corecrypto/…> 。但一般来说,这仅限于加密原语(AES、RSA、SHA 等),而不是 X509 证书解析、 key 交换算法或 TLS 等高级工具。

关于c - 如何在网络内核扩展中使用OpenSSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45534101/

相关文章:

C循环双链表: rev traverse gives different list-pointer address for same node

node.js - Heroku 安装错误

macos - 如何在Mac上构建(OpenGL Engine Ogre)SDK?

c - OpenSSL 线程安全吗?

windows - 如何在 Windows x64 上使用 openSSL 和 nghttp2 编译 cURL?

C中的括号可以改变按位运算的操作数的结果类型吗?

我可以在 C 中的数组上使用 Duff 的设备吗?

c - 没有赋值就将字符串连接到另一个字符串中,这是为什么?

c - 在c中的mac中链接错误gsoap

c++ - OpenSSL:我使用存储在外部文件中的 RSA key 对文件进行加密和解密,但有时我的程序会崩溃