静态库中Openssl fipsld的用法

问题描述 投票:0回答:1
  • 我已经建立了一个FIPS capable openssl库。
  • [Openssl版本1.0.2tFIPS object module 2.0.16
  • [我正在阅读FIPS object module的用户指南,该指南指出,使用FIPS capable openssl编写程序的最后一步是使用fipsld将我的程序与openssl链接,而不是在计算gcc/ld时将其链接到sha1sum使用fipscansiter.ofipsprelim.c中的]。
  • 此后,我需要调用FIPS_mode_set(1)来启用fips模式。
  • 如果我正在生成可执行文件,这将起作用。但是在我的项目中,我们为客户提供了static库,并且最终解决了所有依赖关系,因此我们使用libcrypto.a解压缩ar x libcrypto.a并将所有openssl对象文件添加到我们的静态库libapi.a中。
  • 有一个类(API_DigitalSignature.cpp),它是围绕openssl API进行数字签名的包装。

现在的问题是,我对如何在项目中使用fipsld感到困惑,因为我不是在生成程序而是在生成存档?

[我还和一些安全人员一起说明,除非我们更改任何libcrypto.a,否则打开FIPS的包装不会影响ciphers的验证。

static openssl sha fips sha1sum
1个回答
0
投票

以下内容对我有用:MacOS

FIPSLD_CC=gcc /usr/local/ssl/fips-2.0/bin/fipsld -o fips_hmac fips_hmac.c /usr/local/lib/libcrypto.a

Linux(Ubuntu)

FIPSLD_CC=gcc /usr/local/ssl/fips-2.0/bin/fipsld -o fips_hmac fips_hmac.c /usr/local/ssl/lib/libcrypto.a -I/usr/local/ssl/include -ldl

fips_hmac.c是我编写的用于测试FIPS的简单C程序。您应该为fipsldlibcrypto.a指定与您的系统相关的路径。

请注意Linux解决方案中的标志-ldl

© www.soinside.com 2019 - 2024. All rights reserved.