【问题标题】:How to create a FIPS-capable OpenSSL in a Bitbake recipe?如何在 Bitbake 配方中创建支持 FIPS 的 OpenSSL?
【发布时间】:2018-07-12 06:40:25
【问题描述】:

主要问题

我需要为我的项目创建一个支持 FIPS 的 OpenSSL。 OpenSSL FIPS 对象模块已成功为我的目标平台交叉编译和安装。我似乎无法让支持 FIPS 的库在自己的编译阶段指向它。

有人知道要添加到openssl_%.bbappend 的适当标志吗?


额外信息

此时我已经尝试了很多东西 - 许多不同的标志具有许多不同的错误输出。我不确定与我的特定环境相关的内容与可能被视为一般错误的内容有关,因此如果相关/请求,我将在此处添加信息。

我的 openssl 版本是 1.0.2d,我的 FIPS 版本是 2.0.14。

【问题讨论】:

  • 在构建支持 FIPS 的 OpenSSL 库时,我相信您可以使用 --fipsdir 配置选项来告诉支持 FIPS 的库 FIPS 对象模块所在的位置。它与 Autotools 和 Configure 的 --libdir 标志非常相似。
  • 这是我尝试过的事情之一。命令./config fips --fipsdir=/my/path/to/usr/local/ssl/fips-2.0 使我与您的问题之一处于同一条船上;在 domd.pl 第 30 行上找不到 make depend。
  • 如果有帮助,我相信--fipsdir(或者--fipslibdir)与fipscanister.o、fips_premain.c 和*.sha 文件所在的目录相同。看起来/my/path/to/usr/local/ssl/fips-2.0 可能缺少尾随lib/,但我可能是错的。 OpenSSL 的自定义构建系统如此不同寻常也无济于事。它不遵循标准约定和行为。 bash -x 是您尝试找出他们的工具出了什么问题的朋友。

标签: openssl yocto bitbake fips


【解决方案1】:

如果您计划使用 OpenSSL FIPS 模块证书,则必须严格按照用户指南中列出的步骤进行操作。

这在食谱中很难做到。完成此操作后,我总是构建一个 SDK,然后使用 SDK 交叉编译模块和 OpenSSL 程序(按照用户指南中的步骤 - 完全 -。)

我创建了一个补丁(bbappend 或新配方),它简单地获取我之前构建的二进制文件并将它们打包以供其他人使用。

如果您打算获得自己的证书,那么很多都是不必要的。但是,用户指南步骤仍应用作所有参数的参考。

从用户指南中的第 4.2 节开始...

【讨论】:

  • 当您说“二进制文件”时,这些是否也包括 fipscanister.o?另外,我可以请您发布您的 openssl 的 bbappend 的 do_install 功能吗?我一直在尝试摸索他们的,他们似乎安装了很多文件。如果你不想或者我不能完全理解。
猜你喜欢
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 2021-08-09
  • 2021-02-14
  • 2012-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多