m_wp.c revision 238384
1238384Sjkim/* crypto/evp/m_wp.c */ 2238384Sjkim 3238384Sjkim#include <stdio.h> 4238384Sjkim#include "cryptlib.h" 5238384Sjkim 6238384Sjkim#ifndef OPENSSL_NO_WHIRLPOOL 7238384Sjkim 8238384Sjkim#include <openssl/evp.h> 9238384Sjkim#include <openssl/objects.h> 10238384Sjkim#include <openssl/x509.h> 11238384Sjkim#include <openssl/whrlpool.h> 12238384Sjkim#include "evp_locl.h" 13238384Sjkim 14238384Sjkimstatic int init(EVP_MD_CTX *ctx) 15238384Sjkim { return WHIRLPOOL_Init(ctx->md_data); } 16238384Sjkim 17238384Sjkimstatic int update(EVP_MD_CTX *ctx,const void *data,size_t count) 18238384Sjkim { return WHIRLPOOL_Update(ctx->md_data,data,count); } 19238384Sjkim 20238384Sjkimstatic int final(EVP_MD_CTX *ctx,unsigned char *md) 21238384Sjkim { return WHIRLPOOL_Final(md,ctx->md_data); } 22238384Sjkim 23238384Sjkimstatic const EVP_MD whirlpool_md= 24238384Sjkim { 25238384Sjkim NID_whirlpool, 26238384Sjkim 0, 27238384Sjkim WHIRLPOOL_DIGEST_LENGTH, 28238384Sjkim 0, 29238384Sjkim init, 30238384Sjkim update, 31238384Sjkim final, 32238384Sjkim NULL, 33238384Sjkim NULL, 34238384Sjkim EVP_PKEY_NULL_method, 35238384Sjkim WHIRLPOOL_BBLOCK/8, 36238384Sjkim sizeof(EVP_MD *)+sizeof(WHIRLPOOL_CTX), 37238384Sjkim }; 38238384Sjkim 39238384Sjkimconst EVP_MD *EVP_whirlpool(void) 40238384Sjkim { 41238384Sjkim return(&whirlpool_md); 42238384Sjkim } 43238384Sjkim#endif 44