This document is related to the issue ticket is Being a co-maintainer of the ruby/openssl for the OpenSSL FIPS mode. See also "What is FIPS".
How to debug with OpenSSL 3 FIPS
Below are the steps to debug Ruby OpenSSL binding (ruby/openssl) with OpenSSL 3 with FIPS enabled.
Install OpenSSL from the source
Build and install OpenSSL from the source with the FIPS option. See the official configuration options document for details.
--libdir=lib: This option changes the default library directory name "lib64" in x86_64 to "lib". It's useful when you access from the Ruby OpenSSL binding. Because the mkmf#dir_config executed by --with-openssl-dir=<path> in the later step below expects the "lib" as a default. See the code.
enable-fips: Enabling FIPS