Test suite plus failure if selftest fails.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user