title: FIPS Capable OpenSSL cross-compiled: incore fingerprint issue
body: <p>I'm having an issue trying to use the <strong>OpenSSL</strong> shared library (libcrypto) compiled to be <strong>FIPS capable</strong> on a <strong>MIPS</strong> device.<br>
  I cross-compiled the FIPS Object Module and then the OpenSSL library in the following way (summarizing):</p>
  
  <pre><code>export FIPS_SIG=&lt;my_path&gt;/incore
  ./config fips --with-fipsdir=&lt;my_path&gt;/fips-2.0
  make depend
  make
  make install
  </code></pre>
  
  <p>I did all the needed steps, so I'm able to compile and install the library.<br>
  The issue appears when I try to run the <code>FIPS_mod_set(1)</code> API from an application linking the OpenSSL library.<br>
  The FIPS mode initialization fails receiving this error:</p>
  
  <pre><code>2010346568:error:2D06B06F:lib(45):func(107):reason(111):NA:0:
  </code></pre>
  
  <p>Debugging the FIPS code, I found that the issue is inside the <code>FIPS_check_incore_fingerprint(void)</code> function:<br>
  the check <code>memcmp(FIPS_signature,sig,sizeof(FIPS_signature))</code> fails.<br>
  Going deeper in the debug I discovered that the <strong>FIPS_signature</strong> value remains the default one, so I have the doubt that the <strong>incore</strong> script, called by the <strong>fipsld</strong> utility, is not embedding properly the fingerprint inside the OpenSSL shared object.<br>
  How can I check if the <strong>incore</strong> script embedded the fingerprint inside the shared object?<br>
  How can I print the expected fingerprint?<br>
  Do I need to adapt the <strong>incore</strong> script? (I suppose it's not allowed)<br>
  Do you have any suggestion?<br>
  Thanks a lot!<br><br>
  <em>P.S.: I'm cross-compiling using an x86 Linux machine.</em></p>