编译内核加密模块不起作用

问题描述 投票:0回答:0

我正在从源代码编译并启用与 CRYPTO 相关的所有内容,并确保构建的其他区域适应它,以确保正确执行我使用 openssl 库编译的 ELF64 二进制文件,特别是

evp.h
pem.h
。我的二进制文件在 debian 中绝对可以正常工作,并且在传输文件后它们可以在微型核心 linux livecd 中工作。他们甚至在 BSD 中工作,所以我的代码很好。

我犹豫要不要向 tiny core linux 的开发人员询问他们的内核 .config 文件,但我不明白是什么导致了这个问题。首先,当我的内核启动时(我使用的是 busybox 环境和 QEMU 仿真器),程序甚至不会执行,直到

random: crng init
被内核自动加载。我知道
crng
是加密随机数生成器。这在内核启动后的某个时间出现,有时甚至在我尝试执行我的二进制文件之后才出现,但该部分确实自动加载,然后程序将执行但无法正常工作。

我的程序只是加密本地系统上的一个文件。当我执行我的二进制文件时,执行实际加密的函数失败,返回我的个性化消息,表明它失败了。这在常规系统上从未发生过,所以我知道我的代码非常棒。

如果我启用了所有

CONFIG_CRYPTO
模块但仍然失败,那可能还有什么?这些模块都是内置的(不能通过 modprobe 加载)所以我不这样做
make modules && make modules_install
。我通过
make menuconfig
配置或直接简单地编辑
.config
make
编译我的内核。

有什么想法吗?

linux-kernel cryptography kernel public-key-encryption
© www.soinside.com 2019 - 2024. All rights reserved.