是否可以将 openssl 移植到 Linux 驱动程序中?

Is it possible to port openssl into Linux driver?

我正在使用缩减的嵌入式 linux。由于我需要使用SAE并且我需要openssl。但是,我被要求不要在用户空间中实现它。所以我尝试在 linux 驱动程序中移植 openssl。我知道这听起来很疯狂..

非常非常痛苦。我想知道是否有其他方法可以让我在驱动程序中使用 libcrypt.so?我需要包含一些头文件并使用一些函数来完成 SAE 加密。

许多不了解 OpenSSL 是如何组合在一起的人多次要求我这样做。使用大约 2002 年、2003 年的非常旧版本的 OpenSSL 可能是可行的。

现代版本的 OpenSSL 依赖于许多只存在于用户 space 中的东西,例如 use of PThreads library and custom memory allocation。将这些移植到内核中将是一项艰巨的任务space。

此外,OpenSSL 中的很多代码都有 lot of sequential IO。这些东西需要为内核完全重写space。

这很难以与 openSSL 相同程度的偏执狂正确实施。偏执狂是有道理的,在 openSSL 存在的整个过程中有许多漏洞利用。加密代码是非常高价值的目标,因此走捷径只是自找麻烦。

如果您需要加密算法,请使用kernel crypto API。它几乎是从 OpenSSL 中提取代码。对于更复杂的事情,在用户 space 中拥有一个为您运行 SSL 协议的守护进程是可行的方法。