X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fevp%2Fm_dss1.c;h=5216ffd977795a2824337bb4b7184a215673f499;hp=af85c1f7dc35be5185ec65cf59e2b3529d3574bc;hb=a6bbbf2ff5580addb917a8b4f1160f90af91d268;hpb=cf1b7d96647d55e533f779e476e3d4371f40445a diff --git a/crypto/evp/m_dss1.c b/crypto/evp/m_dss1.c index af85c1f7dc..5216ffd977 100644 --- a/crypto/evp/m_dss1.c +++ b/crypto/evp/m_dss1.c @@ -56,27 +56,44 @@ * [including the GNU Public Licence.] */ -#ifndef OPENSSL_NO_SHA #include #include "cryptlib.h" + +#ifndef OPENSSL_NO_SHA + #include #include -#include +#include +#ifndef OPENSSL_NO_DSA +#include +#endif + +static int init(EVP_MD_CTX *ctx) + { return SHA1_Init(ctx->md_data); } + +static int update(EVP_MD_CTX *ctx,const void *data,size_t count) + { return SHA1_Update(ctx->md_data,data,count); } + +static int final(EVP_MD_CTX *ctx,unsigned char *md) + { return SHA1_Final(md,ctx->md_data); } -static EVP_MD dss1_md= +static const EVP_MD dss1_md= { NID_dsa, NID_dsaWithSHA1, SHA_DIGEST_LENGTH, - SHA1_Init, - SHA1_Update, - SHA1_Final, - EVP_PKEY_DSA_method, + EVP_MD_FLAG_PKEY_METHOD_SIGNATURE|EVP_MD_FLAG_PKEY_DIGEST|EVP_MD_FLAG_FIPS, + init, + update, + final, + NULL, + NULL, + EVP_PKEY_NULL_method, SHA_CBLOCK, sizeof(EVP_MD *)+sizeof(SHA_CTX), }; -EVP_MD *EVP_dss1(void) +const EVP_MD *EVP_dss1(void) { return(&dss1_md); }