Openssl 未定义对“FIPS”模式的引用';
我将FIPS 140-2模块与OpenSSL()一起使用。我正在编写一个只获取FIPS模式的应用程序 这是我的Makefile:Openssl 未定义对“FIPS”模式的引用';,openssl,fips,Openssl,Fips,我将FIPS 140-2模块与OpenSSL()一起使用。我正在编写一个只获取FIPS模式的应用程序 这是我的Makefile: TOOLCHAIN:=/home/marcos/work/nitere/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin:$PATH CROSS_COMPILE:=arm-linux-gnueabihf- OPENSSLDIR = /usr/local/ssl INCLUDES = -I$(OPENSSLDIR
TOOLCHAIN:=/home/marcos/work/nitere/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin:$PATH
CROSS_COMPILE:=arm-linux-gnueabihf-
OPENSSLDIR = /usr/local/ssl
INCLUDES = -I$(OPENSSLDIR)/include -I$(OPENSSLDIR)/fips-2.0/include
LIBS= -lcrypto
PATH:=${TOOLCHAIN}:${PATH}
all:
${CROSS_COMPILE}gcc fipsctl.c -o fipsctl $(INCLUDES) $(LIBS)
clean:
rm -Rf *.o fipsctl
这是我的代码:
#include <openssl/crypto.h>
#include <stdio.h>
...
int mode = FIPS_mode();
if(mode == 0)
{
printf("*** FIPS module is disabled. ***");
}
if(mode == 1)
{
printf("*** FIPS module is enabled. ***");
}
有人知道我为什么会犯这个错误吗
任何提示都会非常有用,
谢谢。我不知道我是否正确安装了FIPS模块。我遵循以下命令: 安装FIP:
root@arm:~# cd
root@arm:~# cd openssl-fips-2.0.10
root@arm:~# ./config
root@arm:~# make
root@arm:~# make install
安装具有FIPS支持的OpenSSL:
root@arm:~# cd
root@arm:~# wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
root@arm:~# tar -xzvf openssl-1.0.2e.tar.gz
root@arm:~# cd openssl-1.0.2e
root@arm:~# ./config fips
root@arm:~# make depend
root@arm:~# make
root@arm:~# make install
是否正确?如果是,您是否使用FIPS ecp分布 在编译openssl时,请尝试使用no-ec2m选项,如下所示: root@arm:~#cd openssl-1.0.2e root@arm:~#/配置fips编号ec2m 在UserGuide2.pdf中还提到:
“请注意,在使用“ecp”发行版时,必须使用noec2m选项构建相应的“支持FIPS的”OpenSSL。”我相信您需要构建/安装FIPS对象模块。这是
*-fips-*
下载。例如,.makefile显示的是-lcrypto
小写的ell,而日志显示的是-lcrypto
大写的ell;是哪一个?如果您的makefile中实际上有大写字母,那就错了@jww:应用程序不直接调用FIPS模块,只通过“支持FIPS”的OpenSSL库调用。如果FIPS\u mode
确实链接,但执行时返回false,则可能是缺少FIPS模块。感谢您的回答!我使用./config FIPS安装了FIPS对象模块和OpenSSL。我是否忘记包含一些参数?有没有办法检查我的OpenSSL安装是否支持FIPS 140-2?应该可以。这就是指导。
root@arm:~# cd
root@arm:~# wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
root@arm:~# tar -xzvf openssl-1.0.2e.tar.gz
root@arm:~# cd openssl-1.0.2e
root@arm:~# ./config fips
root@arm:~# make depend
root@arm:~# make
root@arm:~# make install