Test suite plus failure if selftest fails.

This commit is contained in:
Ben Laurie
2004-01-30 19:22:22 +00:00
parent 6a0fc3b6e1
commit 7575c7e3bb
31 changed files with 790 additions and 44 deletions

View File

@@ -103,10 +103,12 @@ fips_dsa_gen.o: ../../include/openssl/bn.h ../../include/openssl/cast.h
fips_dsa_gen.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
fips_dsa_gen.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h
fips_dsa_gen.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
fips_dsa_gen.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
fips_dsa_gen.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
fips_dsa_gen.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
fips_dsa_gen.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
fips_dsa_gen.o: ../../include/openssl/err.h ../../include/openssl/evp.h
fips_dsa_gen.o: ../../include/openssl/fips.h ../../include/openssl/idea.h
fips_dsa_gen.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
fips_dsa_gen.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
fips_dsa_gen.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
fips_dsa_gen.o: ../../include/openssl/objects.h
fips_dsa_gen.o: ../../include/openssl/opensslconf.h
fips_dsa_gen.o: ../../include/openssl/opensslv.h
fips_dsa_gen.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h

View File

@@ -1,3 +1,3 @@
SHA1(fips_dsa_ossl.c)= 7902d159932771d749ecba2ebf78995240356990
SHA1(fips_dsa_gen.c)= 37549c7769084e9989a3a26f7732557d3b691812
SHA1(fips_dsa_ossl.c)= 592cd23f6e63bc08b9c960014d52aad05594f913
SHA1(fips_dsa_gen.c)= 87e185e25c1d606922651ea264470cb93c04e6a8
SHA1(fips_dsa_selftest.c)= d638e2d13912befe42e0ed6efa8a27719b6689d5

View File

@@ -83,6 +83,8 @@
#endif
#ifndef OPENSSL_NO_SHA
#include <openssl/sha.h>
#include <openssl/fips.h>
#include <openssl/err.h>
#ifdef OPENSSL_FIPS
@@ -107,6 +109,13 @@ DSA *DSA_generate_parameters(int bits,
DSA *ret=NULL;
unsigned char *seed_out=seed_in;
if(FIPS_selftest_fail)
{
FIPSerr(FIPS_F_DSA_GENERATE_PARAMETERS,
FIPS_R_FIPS_SELFTEST_FAILED);
goto err;
}
if (bits < 512) bits=512;
bits=(bits+63)/64*64;

View File

@@ -125,6 +125,12 @@ static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
int i,reason=ERR_R_BN_LIB;
DSA_SIG *ret=NULL;
if(FIPS_selftest_fail)
{
FIPSerr(FIPS_F_DSA_DO_SIGN,FIPS_R_FIPS_SELFTEST_FAILED);
return NULL;
}
BN_init(&m);
BN_init(&xr);
@@ -258,12 +264,19 @@ static int dsa_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig,
BIGNUM u1,u2,t1;
BN_MONT_CTX *mont=NULL;
int ret = -1;
if (!dsa->p || !dsa->q || !dsa->g)
{
DSAerr(DSA_F_DSA_DO_VERIFY,DSA_R_MISSING_PARAMETERS);
return -1;
}
if(FIPS_selftest_fail)
{
FIPSerr(FIPS_F_DSA_DO_VERIFY,FIPS_R_FIPS_SELFTEST_FAILED);
return -1;
}
BN_init(&u1);
BN_init(&u2);
BN_init(&t1);