<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    My initial guess would be that the configuration file isn't being
    found by your application.<br>
    Have you set OPENSSL_CONF?<br>
    What about OPENSSL_CONF_INCLUDE?<br>
    <br>
    Useful places to look are the <a moz-do-not-send="true"
      href="https://www.openssl.org/docs/man3.0/man7/fips_module.html">FIPS
      module</a> and the <a moz-do-not-send="true"
      href="https://www.openssl.org/docs/man3.0/man5/config.html">config</a>
    documentation.<br>
    <br>
    <br>
    Pauli<br>
    <br>
    <div class="moz-cite-prefix">On 5/5/2023 12:28 pm, Johnson Wang
      (王舜樸) via openssl-users wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:SJ0PR10MB63746DA589DF8841CD35C9C4BE729@SJ0PR10MB6374.namprd10.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:新細明體;
        panose-1:2 2 5 0 0 0 0 0 0 0;}@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:"\@新細明體";
        panose-1:2 1 6 1 0 1 1 1 1 1;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">Hi,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Environment: Debian
            buster<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">After installing openssl
            and running fipsinstall, I tried to execute "openssl list
            -providers". The log didn't print provider fips.
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">And, I went to try the
            test code as below. It printed "Failed to load FIPS
            provider".<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Test code:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">#include
            <openssl/provider.h><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">int main(void)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">{<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    OSSL_PROVIDER *fips;<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    OSSL_PROVIDER *base;<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    fips =
            OSSL_PROVIDER_load(NULL, "fips");<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    if (fips == NULL) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        printf("Failed
            to load FIPS provider\n");<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">       
            exit(EXIT_FAILURE);<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    }<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    base =
            OSSL_PROVIDER_load(NULL, "base");<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    if (base == NULL) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">       
            OSSL_PROVIDER_unload(fips);<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">        printf("Failed
            to load base provider\n");<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">       
            exit(EXIT_FAILURE);<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    }<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    /* Rest of
            application */<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   
            OSSL_PROVIDER_unload(base);<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">   
            OSSL_PROVIDER_unload(fips);<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    exit(EXIT_SUCCESS);<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Test command:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">openssl list -providers<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Providers:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">  base<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    name: OpenSSL Base
            Provider<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    version: 3.0.8<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">    status: active<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Complete steps:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">1. ./Configure
            --prefix=/usr --openssldir=/usr/lib/ssl
            --libdir=lib/arm-linux-gnueabi shared no-idea no-mdc2 no-rc5
            no-zlib no-ssl3 no-rc4 no-dtls1 linux-armv4 enable-fips<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">2. make depend<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">3. make<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">4. make install<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">5. openssl fipsinstall
            -out /usr/lib/ssl/fipsmodule.cnf -module
            /usr/lib/arm-linux-gnueabi/ossl-modules/fips.so<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">6. Modify openssl.cnf<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">7. Run openssl list
            -providers<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">openssl.cnf:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I have added the
            setting:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">openssl_conf =
            openssl_init<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">config_diagnostics = 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">.include
            /usr/lib/ssl/fipsmodule.cnf<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">[openssl_init]<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">providers =
            provider_sect<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">[provider_sect]<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">fips = fips_sect<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">base = base_sect<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">[base_sect]<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">activate = 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">fipsmodule.cnf:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">[fips_sect]<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">activate = 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">install-version = 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">conditional-errors = 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">security-checks = 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">module-mac =
C1:D0:1D:D2:1F:74:98:86:8C:55:DB:B0:5D:74:F0:74:FF:A1:63:E9:ED:6C:E6:97:6D:DB:D9:96:CF:1B:CA:8B<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">install-mac =
41:9C:38:C2:8F:59:09:43:2C:AA:2F:58:36:2D:D9:04:F9:6C:56:8B:09:E0:18:3A:2E:D6:CC:69:05:04:E1:11<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">install-status =
            INSTALL_SELF_TEST_KATS_RUN<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Some test result:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">openssl version -a<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">OpenSSL 3.0.8 7 Feb 2023
            (Library: OpenSSL 3.0.8 7 Feb 2023)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">built on: Tue May  2
            07:20:31 2023 UTC<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">platform: linux-armv4<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">options:  bn(64,32)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">compiler: gcc -fPIC
            -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE
            -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">OPENSSLDIR:
            "/usr/lib/ssl"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">ENGINESDIR:
            "/usr/lib/arm-linux-gnueabi/engines-3"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">MODULESDIR:
            "/usr/lib/arm-linux-gnueabi/ossl-modules"<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Seeding source:
            os-specific<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">CPUINFO:
            OPENSSL_armcap=0x0<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">openssl fipsinstall -out
            /usr/lib/ssl/fipsmodule.cnf -module
            /usr/lib/arm-linux-gnueabi/ossl-modules/fips.so<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">HMAC :
            (Module_Integrity) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">SHA1 : (KAT_Digest) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">SHA2 : (KAT_Digest) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">SHA3 : (KAT_Digest) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">TDES : (KAT_Cipher) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">AES_GCM : (KAT_Cipher) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">AES_ECB_Decrypt :
            (KAT_Cipher) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">RSA : (KAT_Signature) :
            RNG : (Continuous_RNG_Test) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">ECDSA : (PCT_Signature)
            : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">ECDSA : (PCT_Signature)
            : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">DSA : (PCT_Signature) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">TLS13_KDF_EXTRACT :
            (KAT_KDF) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">TLS13_KDF_EXPAND :
            (KAT_KDF) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">TLS12_PRF : (KAT_KDF) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">PBKDF2 : (KAT_KDF) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">SSHKDF : (KAT_KDF) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">KBKDF : (KAT_KDF) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">HKDF : (KAT_KDF) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">SSKDF : (KAT_KDF) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">X963KDF : (KAT_KDF) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">X942KDF : (KAT_KDF) :
            Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">HASH : (DRBG) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">CTR : (DRBG) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">HMAC : (DRBG) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">DH : (KAT_KA) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">ECDH : (KAT_KA) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">RSA_Encrypt :
            (KAT_AsymmetricCipher) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">RSA_Decrypt :
            (KAT_AsymmetricCipher) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">RSA_Decrypt :
            (KAT_AsymmetricCipher) : Pass<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">INSTALL PASSED<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Could you please help to
            check whether I have wrong steps?<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Johnson<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
      </div>
      -The information contained in this message may be confidential and
      proprietary to American Megatrends (AMI). This communication is
      intended to be read only by the individual or entity to whom it is
      addressed or by their designee. If the reader of this message is
      not the intended recipient, you are on notice that any
      distribution of this message, in any form, is strictly prohibited.
      Please promptly notify the sender by reply e-mail or by telephone
      at 770-246-8600, and then delete or destroy all copies of the
      transmission.
    </blockquote>
    <br>
  </body>
</html>