Hi All,

Sorry if the answer to this posting seems obvious, but I'm not very 
knowledgeable when it comes to build processes. I'm trying to build a version 
of Net-SNMP that only uses FIPS recognised algorithms for SNMPv3 user 
authentication and encryption (i.e. SHA-1 and AES-128). I have already compiled 
out usage of all other non-FIPS algorithms when building the Net-SNMP daemon, 
which currently links in the standard OpenSSL libcrypto library.

I am now trying to link it against the FIPS Object Module, which I have 
successfully built using a slightly modified version of the instructions in the 
User Guide, due to the build process and requirements for my target platform:

        export CROSS_COMPILE=ppc_8xx-; \
        ./Configure linux-generic32 fipscanisterbuild no-asm no-hw
        export CROSS_COMPILE= ppc_8xx-; \
        export HOSTCC=/usr/bin/gcc; \
        export FIPS_SIG=openssl-fips/incore; \
        $(MAKE) -C openssl-fips

I realise that these build changes make the result not FIPS certified, but my 
goal is to produce a version of Net-SNMP that is based on unmodified encryption 
algorithm implementations provided by a FIPS certified SSL library. The above 
build process seems to create a shared crypto library (libcrypto.so.0.9.8), 
even though I haven't built the standard OpenSSL distribution (i.e. it is not a 
FIPS Capable OpenSSL build). I have found that Net-SNMP happily uses this 
library for its encryption support and works with no problems.

So assuming that I want to produce a solution which I could get certified by 
FIPS if I chose to, my questions are:


1.       Can I use this shared crypto library as-is, and not worry about 
creating a FIPS Capable OpenSSL build?

2.       Is it still a good idea to perform the hashing verification steps in 
the User Guide and call FIPS_mode_set()?

3.       Where does fipscanister fit into all this?

I'd be very grateful for any assistance you could provide with this.


Regards,
Harvey Shepherd

Reply via email to