1 /* $OpenBSD: m_wp.c,v 1.7 2014/07/11 08:44:48 jsing Exp $ */
5 #include <openssl/opensslconf.h>
7 #ifndef OPENSSL_NO_WHIRLPOOL
9 #include <openssl/evp.h>
10 #include <openssl/objects.h>
11 #include <openssl/x509.h>
12 #include <openssl/whrlpool.h>
17 return WHIRLPOOL_Init(ctx->md_data);
21 update(EVP_MD_CTX *ctx, const void *data, size_t count)
23 return WHIRLPOOL_Update(ctx->md_data, data, count);
27 final(EVP_MD_CTX *ctx, unsigned char *md)
29 return WHIRLPOOL_Final(md, ctx->md_data);
32 static const EVP_MD whirlpool_md = {
33 .type = NID_whirlpool,
35 .md_size = WHIRLPOOL_DIGEST_LENGTH,
44 .required_pkey_type = {
47 .block_size = WHIRLPOOL_BBLOCK / 8,
48 .ctx_size = sizeof(EVP_MD *) + sizeof(WHIRLPOOL_CTX),
54 return (&whirlpool_md);