a fatal error on failure.
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
void EVP_MD_CTX_init(EVP_MD_CTX *ctx)
{
+#ifdef OPENSSL_FIPS
+ FIPS_selftest_check();
+#endif
memset(ctx,'\0',sizeof *ctx);
}
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; */
}
#endif
#ifndef OPENSSL_NO_DH
#include <openssl/dh.h>
+#include <openssl/fips.h>
#ifdef OPENSSL_FIPS
static int dh_init(DH *dh)
{
+ FIPS_selftest_check();
dh->flags |= DH_FLAG_CACHE_MONT_P;
return(1);
}
static int dsa_init(DSA *dsa)
{
+ FIPS_selftest_check();
dsa->flags|=DSA_FLAG_CACHE_MONT_P;
return(1);
}
static int RSA_eay_init(RSA *rsa)
{
+ FIPS_selftest_check();
rsa->flags|=RSA_FLAG_CACHE_PUBLIC|RSA_FLAG_CACHE_PRIVATE;
return(1);
}