如何在网络内核扩展中使用 OpenSSL?
How to use OpenSSL in network kernel extension?
我正在构建一个网络内核扩展,它需要 OpenSSL 库,方法是在我的一些项目文件中包含一些 headers。
问题是 OpenSSL 包括 stdlib.h
(以及其他 headers),它们都会抛出错误(找不到文件)。如果我在项目文件中包含 stdlib.h
,也会发生同样的情况。
我猜这是因为它们在内核中不可用。
那么,我该如何包括它们呢?我错过了什么?
否则,我如何在内核中包含 CommonCrypto 或任何加密库?
谢谢!
OpenSSL 和 CommonCrypto 是用户空间库。它们在内核中不可用。
CoreCrypto 的某些部分在 <libkern/crypto/…>
和 <corecrypto/…>
下的内核中可用。然而,一般来说,这仅限于加密原语(AES、RSA、SHA 等),而不是更高级别的工具,如 X509 证书解析、密钥交换算法或 TLS。
我正在构建一个网络内核扩展,它需要 OpenSSL 库,方法是在我的一些项目文件中包含一些 headers。
问题是 OpenSSL 包括 stdlib.h
(以及其他 headers),它们都会抛出错误(找不到文件)。如果我在项目文件中包含 stdlib.h
,也会发生同样的情况。
我猜这是因为它们在内核中不可用。 那么,我该如何包括它们呢?我错过了什么?
否则,我如何在内核中包含 CommonCrypto 或任何加密库?
谢谢!
OpenSSL 和 CommonCrypto 是用户空间库。它们在内核中不可用。
CoreCrypto 的某些部分在 <libkern/crypto/…>
和 <corecrypto/…>
下的内核中可用。然而,一般来说,这仅限于加密原语(AES、RSA、SHA 等),而不是更高级别的工具,如 X509 证书解析、密钥交换算法或 TLS。