我正在使用FIPS编译OpenSSL。
当我尝试通过导出OPENSSL_FIPS = 1在FIPS模式下运行openssl二进制文件时,它给出了以下错误,
47657709811344:error:2D06B06F:FIPS routines:FIPS_check_incore_fingerprint:fingerprint does not match:fips.c:232:
我的平台是Linux Suse。
请帮忙。
编辑1:
我使用下面的命令来构建
./Configure no-idea fips --prefix=build/Linux.2.6.16_x86-64_gcc-4.1.2/result --with-fipslibdir=Current/lib/Linux.2.6.16_x86-64_gcc-4.1.2/ --with-fipsdir=Current linux-x86_64 --openssldir=/opt/VRTSssl shared no-zlib no-sse2 no-ec2m
make depend ; make ; make install
答案 0 :(得分:1)
使依赖;制作make install
执行make all
而非make
。这里的问题之一是make install
构建东西而不仅仅是安装东西。它破坏了过去的其他平台,比如Android。我知道在安装过程中避免构建内容的一种方法是发出make all
。
嵌入指纹的OpenSSL脚本的另一个坏处是它无声地失败。我也在Android上学到了很难的方法。
- with-fipsdir =当前的linux-x86_64
这个空间可能会引发问题。
- 与-fipsdir = ...
我似乎记得fips目录应在某处包含fips-2.0
。它与openssldir
略有不同。
- 与-fipslibdir =电流/ LIB / Linux.2.6.16_x86-64_gcc-4.1.2 /
由于您使用--with-fipsdir
,我不相信您需要--with-fipslibdir
。
openssl二进制文件是否设置了libcrypto.so
依赖项或rpath
?我现在在Mac上,所以我无法检查Linux的功能。