我正在使用openssl–fips-ecp-2.0.9和openssl-1.0.1j分别为FIPS对象模块和兼容FIPS的OpenSSL构build。
其中FIPS一个编译成功。 但根据用户指南添加fips选项与./config是给错误:
march=mips32 -fomit-frame-pointer -Wall -Ifips/openssl-fips-ecp-2.0.9/include -DSHA1_ASM -DSHA256_ASM -DAES_ASM -c -o o_fips.o o_fips.c o_fips.c:60:26: Fatal error: openssl/fips.h: No such file or directory compilation terminated. make[6]: *** [o_fips.o] Error 1
encryption的Makefile使用的是o_fips.c&o_fips.c是这样的代码:
#include "cryptlib.h" #ifdef OPENSSL_FIPS #include <openssl/fips.h> #include <openssl/fips_rand.h> #include <openssl/rand.h> #endif
由于1.0.1版本之后没有包含在库中的fips文件夹。 任何人都可以请帮我在这里?
Windows操作系统如何检测algorithm是否符合FIPS?
如何在Windows上使用OpenSSL FIPS静态库构buildDLL?
用命令行禁用FIPS
如何检查OpenSSL中的FIPS 140-2支持?
OpenSSL 1.0.1e在FIPS模式下失败
FIPS支持OpenSSL交叉编译:incore指纹问题
如何在Windows 7上启用FIPS
只需一个应用程序就可以使用Schannel / WinSSL打开FIPS 140-2
OpenSSL FIPS启用和Java JNI
通过给出适当的–openssldir和–with-fipsdir选项来解决问题。
我目前的代码有两个库openssl-1.0.2h和openssl-fips-ecp-2.0.12并行放置在一个名为库的文件夹中。 这是我在我的Makefile中使用的代码:
export HOSTCC=gcc export FIPSLD_CC=gcc export FIPSDIR=$(OPENSSLFIPS_TOP_DIR)/../fips_install export OPENSSLDIR=$(OPENSSL_TOP_DIR) export PREMAIN_DSO=openssl-1.0.2h/fips_premain_dso
其中“OPENSSL_TOP_DIR”和“OPENSSLFIPS_TOP_DIR”是到各个库的路径。 后来在Makefile中,我们必须像这样构建库:
@cd openssl-fips-ecp-2.0.12 path; ./Configure --cross-compile-prefix=$(CROSS_COMPILE) $(PLATFORM) -fPIC no-ec2m $(MAKE) -C $(OPENSSLFIPS_DIR) mkdir -p $(FIPSDIR) $(MAKE) -C $(OPENSSLFIPS_DIR) install @cd openssl-1.0.2h path; ./Configure --cross-compile-prefix=$(CROSS_COMPILE) $(PLATFORM) fips no-ec2m $(MAKE) -C $(OPENSSL_DIR) cp -f $(OPENSSL_DIR)/libssl.so $(LIB_DIR)/libssl.so.1.0.0 cp -f $(OPENSSL_DIR)/libcrypto.so $(LIB_DIR)/libcrypto.so.1.0.0
在这里,而不是./Configure你应该使用./config设置所有平台特定(交叉编译)变量后。 请参阅openSSL FIPS用户指南第3.4节 。
第一个版本将在fips_install(FIPSDIR)文件夹中生成fipscanister和其他文件。 这个FIPSDIR将被openssl库内部使用,在提到'fips'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。