Commit ffc35e73 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Check selftest status in all crypto operations and abort with

a fatal error on failure.
parent a197212e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4,6 +4,10 @@

 Changes between 0.9.8e and 0.9.8f-fips  [xx XXX xxxx]

  *) Check for selftest status in all crypto operations and exit with a
     fatal error if selftest failed.
     [Steve Henson]

  *) New flag in EVP_CIPHER: EVP_CIPH_FLAG_DEFAULT_ASN1. This will
     automatically use EVP_CIPHER_{get,set}_asn1_iv and avoid the
     need for any ASN1 dependencies in FIPS library. Move AES and 3DES
+3 −0
Original line number Diff line number Diff line
@@ -120,6 +120,9 @@

void EVP_MD_CTX_init(EVP_MD_CTX *ctx)
	{
#ifdef OPENSSL_FIPS
	FIPS_selftest_check();
#endif
	memset(ctx,'\0',sizeof *ctx);
	}

+3 −0
Original line number Diff line number Diff line
@@ -68,6 +68,9 @@

void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx)
	{
#ifdef OPENSSL_FIPS
	FIPS_selftest_check();
#endif
	memset(ctx,0,sizeof(EVP_CIPHER_CTX));
	/* ctx->cipher=NULL; */
	}
+2 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@
#endif
#ifndef OPENSSL_NO_DH
#include <openssl/dh.h>
#include <openssl/fips.h>

#ifdef OPENSSL_FIPS

@@ -241,6 +242,7 @@ static int dh_bn_mod_exp(const DH *dh, BIGNUM *r,

static int dh_init(DH *dh)
	{
	FIPS_selftest_check();
	dh->flags |= DH_FLAG_CACHE_MONT_P;
	return(1);
	}
+1 −0
Original line number Diff line number Diff line
@@ -377,6 +377,7 @@ static int dsa_do_verify(const unsigned char *dgst, FIPS_DSA_SIZE_T dgst_len, DS

static int dsa_init(DSA *dsa)
{
	FIPS_selftest_check();
	dsa->flags|=DSA_FLAG_CACHE_MONT_P;
	return(1);
}
Loading