- I have build a
FIPS capable openssl
library. Openssl
Version1.0.2t
andFIPS object module 2.0.16
.- I was reading the user guide for
FIPS object module
which told that the last step in building a program withFIPS capable openssl
was to usefipsld
to link my program withopenssl
rather thangcc/ld
as it computessha1sum
offipscansiter.o
usingfipsprelim.c
. - After this I need to call
FIPS_mode_set(1)
which enablesfips
mode. - This works if I am generating a executable. But in my project we provide a
static
library to our customers and we resolve all dependencies at our end, so we unpacklibcrypto.a
usingar x libcrypto.a
and add all theopenssl
object files to our static librarylibapi.a
. - There is one class(
API_DigitalSignature.cpp
) which is build as a wrapper aroundopenssl
api for digital signature.
Now the problem is I am confused on how should I use fipsld
in my project because I am not generating a program but rather just an archive?
Also I clarified with some security persons that unpacking libcrypto.a
doesn't affect FIPS
validation unless we are changing any ciphers
.