openssl — Как использовать кросс-платформенный режим FIPS библиотеки Poco C ++?

Мы оцениваем библиотеки Poco C ++ для использования в нашем продукте. Нам нужно, чтобы наше программное обеспечение было совместимым с FIPS и работало на платформах Windows, Linux и OSX. Poco C ++, кажется, имеет режим FIPS из документации Poco::Crypto::OpenSSLInitializer::enableFIPSMode метод. Но документация слишком короткая. Если я открою его файл H, я вижу только этот комментарий:

Включить или отключить режим FIPS. Если FIPS недоступен, этот метод
ничего не делает

Исходя из этой информации, мне неясно, как использовать режим FIPS в Poco. А именно,

  1. Это доступно на всех поддерживаемых платформах?
  2. Нужен ли для этого какой-либо макрос времени компиляции? Например, я могу найти проверку макроса для OPENSSL_FIPS в H файлы Poco. Нужно ли определять это при строительстве?
  3. Какую версию OpenSSL следует использовать для включения режима FIPS Poco? Любая функция OpenSSL, которую мы должны вызвать, чтобы инициализировать ее для режима FIPS?

Где я могу найти достаточно информации об этом?

0

Решение

Все вопросы действительно связаны с openssl, потому что POCO — это только оболочка, делегирующая вызовы openssl в библиотеку openssl.

  1. это зависит от того, какую версию openssl вы используете
  2. OPENSSL_FIPS является макросом openssl — он либо определен, либо не определен во время компиляции openssl; если он не включен, то он не поддерживается во время выполнения; Проверьте свои opensslconf.h чтобы увидеть, если он включен
  3. версия openssl, которая способна и имеет включенную FIPS, как описано в 2 .; обратитесь к документации openssl для соответствующей платформы / выпуска
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]