如何使用OpenSSL FIPS对象模块v2.0中的DRBG
我试图将OpenSSL FIPS对象模块v2.0与基础OpenSSL库(1.0.1c)一起使用,以使我的应用程序FIPS 140-2受到投诉。问题是我无法理解如何使用FIPS对象模块中的DRBG API来替换我的RAND_*调用 我可以在OpenSSL模块中看到一些RAND_字节调用的实例,也可以在其他库/源文件(OpenSSL之外)中使用它们。本文提供的用户文档讨论了各自的API,但没有说明哪些调用需要映射到各自的RAND_*对应项 我试着在各种论坛上寻找这些信息,但到目前为止还不走运。如果有人能帮助我了解如何使用这些电话,并替换目前正在使用的RAND_*电话,我将不胜感激 谢谢, 桑德普 问题是我不知道如何使用DRBGAPI 来自FIPS对象模块,用于替换我的RAND_*调用 调用如何使用OpenSSL FIPS对象模块v2.0中的DRBG,openssl,fips,Openssl,Fips,我试图将OpenSSL FIPS对象模块v2.0与基础OpenSSL库(1.0.1c)一起使用,以使我的应用程序FIPS 140-2受到投诉。问题是我无法理解如何使用FIPS对象模块中的DRBG API来替换我的RAND_*调用 我可以在OpenSSL模块中看到一些RAND_字节调用的实例,也可以在其他库/源文件(OpenSSL之外)中使用它们。本文提供的用户文档讨论了各自的API,但没有说明哪些调用需要映射到各自的RAND_*对应项 我试着在各种论坛上寻找这些信息,但到目前为止还不走运。如果有
FIPS\u mode\u set
(并假设其返回非零)后,即使用NIST批准的DRBG。从OpenSSL:
默认的DRBG是使用派生函数的256位CTR AES。。。到
使用FIPS随机数生成器,只需将RAND_字节用作
如前所述。请注意,对FIPS_mode_set的调用必须在以下情况下成功:
以FIPS 140模式运行
RAND
API是一个接口。您不会替换任何随机调用。相反,您注册DRBG(当您调用FIPS_mode()
或其他什么时,可能会自动完成),然后您的RAND_
调用将使用它而不是默认的RNG实现。对这个古老的答案进行了投票,但问题仍然是这些引擎是否在不切换到FIPS模式的情况下可用。仅仅使用RNG,这一步可能太大了。