It appears that I'm close to building a FIPS-capable openssl-0.9.7m on HP-UX 
11iv1 (B.11.11) using 

        1. HP pre-built openssl-fips-1.1.2
        2. HP openssl-0.9.7m source

from OpenSSL_A.00.09.07m.020_HP-UX_B.11.11_32_64.depot.  However, I do not yet 
know how to interpret the following make error.  The build fails in 
./openssl-0.9.7m/fips-1.0/fipsld where fips_premain_dso is trying to generate a 
signature of libcrypto.sl.0  at the following line ...

        SIG=`("fips-1.0/../fips-1.0/fips_premain_dso" "./libcrypto.sl.0" || rm 
"./libcrypto.sl.0")

with the (presumed) ld_pa errors ...

14835:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared 
library:dso_dlfcn.c:157:filename(./libcrypto.sl.0): Unsatisfied code symbol 
'private_RC5_32_set_key' in load module './libcrypto.sl.0'.
14835:error:25070067:DSO support routines:DSO_load:could not load the shared 
library:dso_lib.c:244:

I presume that the linker is trying to resolve symbols for fips_premain_dso, 
but, I don't yet understand why libcrypto.sl.0 shouldn't have the symbols 
defined ...

/barrel/udc/dhp/openssl/0.9.7/src/openssl-0.9.7m/libcrypto.sl.0:        ELF-64 
shared object file - PA-RISC 2.0 (LP64)
  2888: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
private_RC5_32_set_key
  7890: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
private_RC5_32_set_key

chatr fips_premain_dso ...

fips_premain_dso:
         64-bit ELF executable
         shared library dynamic path search:
             LD_LIBRARY_PATH    enabled  first
             SHLIB_PATH         enabled  second
             embedded path      enabled  third  /usr/local/ssl/lib
         shared library list:
             libdl.1
             libc.2
         shared library binding:
             deferred

So, there's no help there.

What am I missing?  There's plenty I don't understand, but, as I am currently 
wading through the details of the Makefiles and analyzing the compiler/linker 
settings, I'm concerned that I'm missing something basic.


SUPPORTING ARTIFACTS
------------------------------------------------------------------------------------------------
This is the tail-end of the make log:

...

THERE: fips-1.0/..
FIPSLIBDIR: /usr/local/ssl/lib
PREMAIN_C: /usr/local/ssl/lib/fips_premain.c

Canister: /usr/local/ssl/lib/fipscanister.o

verify fipscanister.o against its detached signature...
HMAC-SHA1(fipscanister.o)= a624cf3efcb3ef5e08fbb1643844068bda168ea5

verify fipspremain.c against its detached signature...

Temporarily remove fipscanister.o from libcrypto.a!

ar d fips-1.0/../libcrypto.a

CC: gcc
CANISTER_O: /usr/local/ssl/lib/fipscanister.o
PREMAIN_C: /usr/local/ssl/lib/fips_premain.c
_WL_PREMAIN: -Wl,+init,FINGERPRINT_premain
Params: -shared -Wl,-B,symbolic,+vnocompatwarnings,-z,+h,libcrypto.sl.0 -o 
libcrypto.sl.0 -Wl,+forceload -Wl,+nodefaultrpath,libcrypto.a -ldld

TARGET: ./libcrypto.sl.0
fips_premain_dso found
./libcrypto.sl.0 found

generate signature
PWD: /barrel/udc/dhp/openssl/0.9.7/src/openssl-0.9.7m
THERE: fips-1.0/..
TARGET: ./libcrypto.sl.0
-rwxrwxrwx   1 root       sys        2376552 Jun  4 18:24 ./libcrypto.sl.0
Executing ...
SIG=`("fips-1.0/../fips-1.0/fips_premain_dso" "./libcrypto.sl.0" || rm 
"./libcrypto.sl.0")`

14835:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared 
library:dso_dlfcn.c:157
:filename(./libcrypto.sl.0): Unsatisfied code symbol 'private_RC5_32_set_key' 
in load module './libcry
pto.sl.0'.
14835:error:25070067:DSO support routines:DSO_load:could not load the shared 
library:dso_lib.c:244:
cgw: IN trap
*** Error exit code 1
Stop.
---------------------------------------------------------------------------------------------------
The symbol 'private_RC5_32_set_key' is NOT found in the pre-built FIPS-capable 
libcrypto.a, IS found ONCE as UNDefined in the ./libcrypto.a generated by the 
build ... 

/barrel/udc/dhp/openssl/0.9.7/src/openssl-0.9.7m/libcrypto.a
  25: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND private_RC5_32_set_key
-rw-rw-rw-   1 root       sys        3304682 Jun  4 17:09 
/barrel/udc/dhp/openssl/0.9.7/src/openssl-0.

AND IS found twice as UNDdefined in the ./libcrypto.sl.0 generated (then 
deleted) by the build ...

/barrel/udc/dhp/openssl/0.9.7/src/openssl-0.9.7m/libcrypto.sl.0:        ELF-64 
shared object file - PA-RISC 2.0 (LP64)
  2888: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
private_RC5_32_set_key
  7890: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
private_RC5_32_set_key



Reply via email to