X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=README.FIPS;h=6c5250cf44f882581a5bdac09ab22d390596aa0e;hp=edd92e32924cd2f841195d8cd03ea4a2edacea92;hb=8742ae6e19e4d899d77ef0ca961775764e5bfe62;hpb=44f54a130b3b183636de05bf6aa2ed38004d1740;ds=sidebyside diff --git a/README.FIPS b/README.FIPS index edd92e3292..6c5250cf44 100644 --- a/README.FIPS +++ b/README.FIPS @@ -13,14 +13,51 @@ test/fips_test_suite again should complete without errors. -Run test vectors: TBA. +Run test vectors: + +1. Download an appropriate set of testvectors from www.openssl.org/docs/fips + those for 2007 are OK. + +2. Extract the files to a suitable directory. + +3. Run the test vector perl script, for example: + + cd fips + perl fipsalgtest.pl --dir=/wherever/stuff/was/extracted + +4. It should say "passed all tests" at the end. Report full details of any + failures. + +Run: + +make clean + +to remove any object modules from previous compile. + +Run symbol hiding test: + +./config fipscanisteronly -DOPENSSL_FIPSSYMS +make + +This time only the fips utilities should be built. + +Examine the external symbols in fips/fipscanister.o they should all begin +with FIPS or fips. One way to check with GNU nm is: + +nm -g --defined-only fips/fipscanister.o | grep -v -i fips Known issues: -No Windows support. Algorithm tests are pre-2011. -No SP800-90 PRNG. -No ECDSA2 support. -No DSA2 support. -No GCM. -No CMAC. +The fipslagtest.pl script wont auto run new algorithm tests such as DSA2. +Usage of ECDH/DH needs review and whether any KDFs need to be implemented. +Selftests need updating with larger key sizes in some cases and redundant +tests pruned. +SP800-90 DRBG needs more work: check for compliance, continuous PRNG test +when entropy gathering, periodic health tests. +Some algorithms need to check security strength of PRNG: keygen etc. +No CCM. +No XTS. +The "FIPS capable OpenSSL" is not yet complete: meaning that the rest of +OpenSSL doesn't always use the correct FIPS module APIs and block others +in FIPS mode.