首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持FIPS的OpenSSL和openssl/fips.h:没有这样的文件或目录

支持FIPS的OpenSSL和openssl/fips.h:没有这样的文件或目录
EN

Stack Overflow用户
提问于 2015-04-07 23:34:27
回答 2查看 3.1K关注 0票数 2

我正在分别使用openssl- FIPS -ecp-2.0.9和openssl-1.0.1j为FIPS Object Module和fips兼容OpenSSL构建。

其中FIPS one成功编译。但根据User Guide,使用./config添加fips选项会给出错误:

代码语言:javascript
复制
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

crypto的Makefile使用的是o_fips.c,而o_fips.c的代码如下:

代码语言:javascript
复制
#include "cryptlib.h"
#ifdef OPENSSL_FIPS
#include <openssl/fips.h>
#include <openssl/fips_rand.h>
#include <openssl/rand.h>
#endif

因为1.0.1版本之后的库中没有fips文件夹可供包含。有谁能帮帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-14 19:24:36

通过提供适当的--openssldir和--with-fipsdir选项解决了问题。

票数 3
EN

Stack Overflow用户

发布于 2016-07-22 20:20:46

我的当前代码将两个库openssl-1.0.2h和openssl-fips-ecp-2.0.12并行放置在一个名为libraries的文件夹中。这是我在Makefile中使用的代码:

代码语言:javascript
复制
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中,我们必须像这样构建库:

代码语言:javascript
复制
    @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

在这里,在设置所有特定于平台的(交叉编译)变量之后,您应该使用./config而不是./Configure。请参阅openSSL FIPS用户指南Section 3.4

第一个构建将在fips_install(FIPSDIR)文件夹中生成fipscanister和其他文件。此FIPSDIR将由openssl库在内部使用,并在提到“fips”的基础上构建

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29495429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档