在FIPS兼容的机器上使用Aim包会导致错误,

svdrlsy4  于 8个月前  发布在  其他
关注(0)|答案(2)|浏览(256)

🐛 Bug

在FIPS服务器上运行AIM与任何脚本时,会出现类似以下的错误,导致其无法使用。

  1. TypeError: 'digest_size' is an invalid keyword argument for openssl_blake2b()
  2. TypeError: 'digest_size' is an invalid keyword argument for openssl_blake2b()
  3. Exception ignored in: 'aim.storage.hashing.hashing.hash_object'
  4. Traceback (most recent call last):
  5. File "/usr/local/lib64/python3.11/site-packages/aim/storage/context.py", line 40, in _calc_hash
  6. return hash_auto(self._context)
  7. ^^^^^^^^^^^^^^^^^^^^^^^^

重现步骤

在启用了FIPS的机器上安装AIM,并使用任何脚本运行,错误在我们这边似乎可以100%复现。

预期行为

AIM哈希函数在不产生任何错误的情况下生成哈希值。

环境

  • Aim版本(例如:3.0.1)- 3.19.3
  • Python版本- 3.11
  • pip版本
  • OS(例如:Linux)- Linux
  • 其他相关信息

额外背景信息

问题似乎源于Python库hashlib,在启用了FIPS的服务器上,_hashlib.get_fips_mode()返回1

  1. python3.11
  2. >>> import _hashlib
  3. >>> _hashlib.get_fips_mode()
  4. 1

像这样的API调用会失败。

  1. >>> import hashlib
  2. >>> hashlib.blake2b(digest_size=256 //8)
  3. Traceback (most recent call last):
  4. File "<stdin>", line 1, in <module>
  5. TypeError: 'digest_size' is an invalid keyword argument for openssl_blake2b()

而在其他服务器上它可以正常工作。

  1. python3.11
  2. >>> import _hashlib
  3. >>> _hashlib.get_fips_mode()
  4. 0
  1. >>> import hashlib
  2. >>> hashlib.blake2b(digest_size=256 //8)
  3. <_blake2.blake2b object at 0x7fe3f5d0cc70>
dz6r00yl

dz6r00yl1#

我们无法访问FIPS服务器。您是否愿意帮助我们解决这个问题?

z9ju0rcb

z9ju0rcb2#

嘿,@SGevorg,我们可以尝试在我们这边进行这个操作,如果进展顺利的话,我会通知你们的。

相关问题