md_data
if (ctx->digest && ctx->digest->ctx_size && ctx->md_data &&
freezero(ctx->md_data, ctx->digest->ctx_size);
ctx->md_data = NULL;
ctx->md_data = calloc(1, type->ctx_size);
if (ctx->md_data == NULL) {
memset(ctx->md_data, 0, ctx->digest->ctx_size);
if (ctx->digest && ctx->digest->ctx_size && ctx->md_data &&
freezero(ctx->md_data, ctx->digest->ctx_size);
tmp_buf = out->md_data;
out->md_data = NULL;
if (in->md_data && out->digest->ctx_size) {
out->md_data = tmp_buf;
out->md_data = calloc(1, out->digest->ctx_size);
if (out->md_data == NULL) {
memcpy(out->md_data, in->md_data, out->digest->ctx_size);
return ctx->md_data;
void *md_data;
return MD4_Init(ctx->md_data);
return MD4_Update(ctx->md_data, data, count);
return MD4_Final(md, ctx->md_data);
return MD5_Init(ctx->md_data);
return MD5_Update(ctx->md_data, data, count);
return MD5_Final(md, ctx->md_data);
struct md5_sha1_ctx *mdctx = ctx->md_data;
struct md5_sha1_ctx *mdctx = ctx->md_data;
struct md5_sha1_ctx *mdctx = ctx->md_data;
return RIPEMD160_Init(ctx->md_data);
return RIPEMD160_Update(ctx->md_data, data, count);
return RIPEMD160_Final(md, ctx->md_data);
return SHA224_Init(ctx->md_data);
return SHA256_Update(ctx->md_data, data, count);
return SHA224_Final(md, ctx->md_data);
return SHA256_Init(ctx->md_data);
return SHA256_Update(ctx->md_data, data, count);
return SHA256_Final(md, ctx->md_data);
return SHA384_Init(ctx->md_data);
return SHA512_Update(ctx->md_data, data, count);
return SHA384_Final(md, ctx->md_data);
return SHA512_Init(ctx->md_data);
return SHA512_Update(ctx->md_data, data, count);
return SHA512_Final(md, ctx->md_data);
return SHA512_224_Init(ctx->md_data);
return SHA512_224_Update(ctx->md_data, data, count);
return SHA512_224_Final(md, ctx->md_data);
return SHA512_256_Init(ctx->md_data);
return SHA512_256_Update(ctx->md_data, data, count);
return SHA512_256_Final(md, ctx->md_data);
return SHA1_Init(ctx->md_data);
return SHA1_Update(ctx->md_data, data, count);
return SHA1_Final(md, ctx->md_data);
return sha3_init(ctx->md_data, SHA3_384_DIGEST_LENGTH);
return sha3_update(ctx->md_data, data, count);
return sha3_final(md, ctx->md_data);
return sha3_init(ctx->md_data, SHA3_512_DIGEST_LENGTH);
return sha3_update(ctx->md_data, data, count);
return sha3_final(md, ctx->md_data);
return sha3_init(ctx->md_data, SHA3_224_DIGEST_LENGTH);
return sha3_update(ctx->md_data, data, count);
return sha3_final(md, ctx->md_data);
return sha3_init(ctx->md_data, SHA3_256_DIGEST_LENGTH);
return sha3_update(ctx->md_data, data, count);
return sha3_final(md, ctx->md_data);
return SM3_Init(ctx->md_data);
return SM3_Update(ctx->md_data, data, count);
return SM3_Final(md, ctx->md_data);
unsigned char md_data[EVP_MAX_MD_SIZE];
if (!EVP_DigestFinal_ex(mctx, md_data, &md_len)) {
if (!PKCS7_add1_attrib_digest(si, md_data, md_len)) {
unsigned char md_data[EVP_MAX_MD_SIZE];
if (!EVP_DigestFinal_ex(mdc, md_data, &md_len))
if (ASN1_STRING_set(p7->d.digest->digest, md_data,
md_free_data(struct md *md, struct md_data *data)
struct md_data *data;
struct md_data *
struct md_data *data;
struct md_data *
struct md_data *data;
TAILQ_HEAD(md_data_head, md_data) data_list;
struct md_data *data;
TAILQ_ENTRY(md_data) link;