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

时间:2017-08-06 16:24:26

标签: c macos openssl kernel kernel-extension

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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