#include <openssl/rand.h>
#include <openssl/bio.h>
#include <openssl/err.h>
+#include <openssl/evp.h>
#include <openssl/bn.h>
-#ifndef OPENSSL_NO_ENGINE
-#include <openssl/engine.h>
-#endif
#if defined(OPENSSL_NO_DSA) || !defined(OPENSSL_FIPS)
};
+__fips_constseg
static const unsigned char str1[]="12345678901234567890";
+__fips_constseg
static const char rnd_seed[] = "string to make the random number generator think it has entropy";
int main(int argc, char **argv)
unsigned char buf[256];
unsigned long h;
BN_GENCB cb;
- EVP_MD_CTX mctx;
BN_GENCB_set(&cb, dsa_cb, stderr);
- FIPS_md_ctx_init(&mctx);
- fips_set_error_print();
- if(!FIPS_mode_set(1))
- EXIT(1);
+ fips_algtest_init();
fprintf(stderr,"test generation of DSA parameters\n");
}
DSA_generate_key(dsa);
- if (!FIPS_digestinit(&mctx, EVP_sha1()))
- goto end;
- if (!FIPS_digestupdate(&mctx, str1, 20))
- goto end;
- sig = FIPS_dsa_sign_ctx(dsa, &mctx);
+ sig = FIPS_dsa_sign(dsa, str1, 20, EVP_sha1());
if (!sig)
goto end;
- if (!FIPS_digestinit(&mctx, EVP_sha1()))
- goto end;
- if (!FIPS_digestupdate(&mctx, str1, 20))
- goto end;
- if (FIPS_dsa_verify_ctx(dsa, &mctx, sig) != 1)
+ if (FIPS_dsa_verify(dsa, str1, 20, EVP_sha1(), sig) != 1)
goto end;
ret = 1;
if (sig)
FIPS_dsa_sig_free(sig);
if (dsa != NULL) FIPS_dsa_free(dsa);
- FIPS_md_ctx_cleanup(&mctx);
#if 0
CRYPTO_mem_leaks(bio_err);
#endif