【发布时间】:2012-12-05 10:28:48
【问题描述】:
我正在尝试将 OpenSSL FIPS 对象模块 v2.0 与基本 OpenSSL 库 (1.0.1c) 一起使用,以使我的应用程序符合 FIPS 140-2 标准。问题是我无法弄清楚如何使用 FIPS 对象模块中的 DRBG API 来替换我的 RAND_* 调用。
我可以看到很少有在 OpenSSL 模块中调用 RAND_bytes 的实例,并且还在其他库/源文件(OpenSSL 之外)中使用它们。 http://www.openssl.org/docs/fips/UserGuide-2.0.pdf 中提供的用户文档讨论了各自的 API,但没有说明哪些调用需要映射到其各自的 RAND_* 对应项。
我曾尝试在各种论坛上查找此信息,但到目前为止还不是很幸运。如果有人可以帮助我了解如何使用这些调用并替换当前正在使用的 RAND_* 调用,我将不胜感激。
谢谢, 桑迪普
【问题讨论】:
-
RAND_API 是一个接口。您不会替换任何RAND_调用。相反,您注册 DRBG(可能会在您调用FIPS_mode()或其他东西时自动完成),然后您的RAND_调用将使用它而不是默认的 RNG 实现。