summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/m_md5.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/evp/m_md5.c')
-rw-r--r--src/lib/libcrypto/evp/m_md5.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/lib/libcrypto/evp/m_md5.c b/src/lib/libcrypto/evp/m_md5.c
index 9fc9530127..b00a03e048 100644
--- a/src/lib/libcrypto/evp/m_md5.c
+++ b/src/lib/libcrypto/evp/m_md5.c
@@ -56,27 +56,40 @@
56 * [including the GNU Public Licence.] 56 * [including the GNU Public Licence.]
57 */ 57 */
58 58
59#ifndef NO_MD5 59#ifndef OPENSSL_NO_MD5
60#include <stdio.h> 60#include <stdio.h>
61#include "cryptlib.h" 61#include "cryptlib.h"
62#include <openssl/evp.h> 62#include <openssl/evp.h>
63#include <openssl/objects.h> 63#include <openssl/objects.h>
64#include <openssl/x509.h> 64#include <openssl/x509.h>
65#include <openssl/md5.h>
65 66
66static EVP_MD md5_md= 67static int init(EVP_MD_CTX *ctx)
68 { return MD5_Init(ctx->md_data); }
69
70static int update(EVP_MD_CTX *ctx,const void *data,unsigned long count)
71 { return MD5_Update(ctx->md_data,data,count); }
72
73static int final(EVP_MD_CTX *ctx,unsigned char *md)
74 { return MD5_Final(md,ctx->md_data); }
75
76static const EVP_MD md5_md=
67 { 77 {
68 NID_md5, 78 NID_md5,
69 NID_md5WithRSAEncryption, 79 NID_md5WithRSAEncryption,
70 MD5_DIGEST_LENGTH, 80 MD5_DIGEST_LENGTH,
71 MD5_Init, 81 0,
72 MD5_Update, 82 init,
73 MD5_Final, 83 update,
84 final,
85 NULL,
86 NULL,
74 EVP_PKEY_RSA_method, 87 EVP_PKEY_RSA_method,
75 MD5_CBLOCK, 88 MD5_CBLOCK,
76 sizeof(EVP_MD *)+sizeof(MD5_CTX), 89 sizeof(EVP_MD *)+sizeof(MD5_CTX),
77 }; 90 };
78 91
79EVP_MD *EVP_md5(void) 92const EVP_MD *EVP_md5(void)
80 { 93 {
81 return(&md5_md); 94 return(&md5_md);
82 } 95 }