*
*/
-#define OPENSSL_FIPSEVP
+#define OPENSSL_FIPSAPI
#include <string.h>
#include <openssl/evp.h>
DSA_SIG *s;
unsigned char dig[EVP_MAX_MD_SIZE];
unsigned int dlen;
- EVP_DigestFinal_ex(ctx, dig, &dlen);
+ FIPS_digestfinal(ctx, dig, &dlen);
s = dsa->meth->dsa_do_sign(dig,dlen,dsa);
OPENSSL_cleanse(dig, dlen);
return s;
}
+DSA_SIG * FIPS_dsa_sign_digest(DSA *dsa, const unsigned char *dig, int dlen)
+ {
+ FIPS_selftest_check();
+ return dsa->meth->dsa_do_sign(dig, dlen, dsa);
+ }
+
int FIPS_dsa_verify_ctx(DSA *dsa, EVP_MD_CTX *ctx, DSA_SIG *s)
{
int ret=-1;
unsigned char dig[EVP_MAX_MD_SIZE];
unsigned int dlen;
- EVP_DigestFinal_ex(ctx, dig, &dlen);
+ FIPS_digestfinal(ctx, dig, &dlen);
ret=dsa->meth->dsa_do_verify(dig,dlen,s,dsa);
OPENSSL_cleanse(dig, dlen);
return ret;
}
+int FIPS_dsa_verify_digest(DSA *dsa,
+ const unsigned char *dig, int dlen, DSA_SIG *s)
+ {
+ FIPS_selftest_check();
+ return dsa->meth->dsa_do_verify(dig,dlen,s,dsa);
+ }
+
#endif