1

我正在用 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
4

1 回答 1

2

使依赖; 制作 ; 进行安装

做一个make all而不是仅仅make。这里的问题之一是make install构建东西而不仅仅是安装东西。它打破了过去的其他平台,例如Android。我知道避免在安装过程中构建事物的一种方法是发出make all.

嵌入指纹的 OpenSSL 脚本的另一个坏处是它会静默失败。我在 Android 上也学到了这一点。


--with-fipsdir=当前 linux-x86_64

这个空间可能会引起问题。


--with-fipsdir=...

我似乎记得 fips 目录应该包含在fips-2.0某个地方。它比刚才有点不同openssldir


--with-fipslibdir=当前/lib/Linux.2.6.16_x86-64_gcc-4.1.2/

既然你在用--with-fipsdir,我不相信你需要--with-fipslibdir


openssl 二进制文件是否具有libcrypto.so依赖项或rpath设置?我现在在 Mac 上,所以我无法检查 Linux 的功能。

于 2014-02-12T12:40:49.593 回答