Lines Matching defs:ctx

78 void EVP_MD_CTX_init(EVP_MD_CTX *ctx) {
79 OPENSSL_memset(ctx, 0, sizeof(EVP_MD_CTX));
83 EVP_MD_CTX *ctx = OPENSSL_malloc(sizeof(EVP_MD_CTX));
85 if (ctx) {
86 EVP_MD_CTX_init(ctx);
89 return ctx;
94 int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx) {
95 OPENSSL_free(ctx->md_data);
97 assert(ctx->pctx == NULL || ctx->pctx_ops != NULL);
98 if (ctx->pctx_ops) {
99 ctx->pctx_ops->free(ctx->pctx);
102 EVP_MD_CTX_init(ctx);
107 void EVP_MD_CTX_free(EVP_MD_CTX *ctx) {
108 if (!ctx) {
112 EVP_MD_CTX_cleanup(ctx);
113 OPENSSL_free(ctx);
116 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx) { EVP_MD_CTX_free(ctx); }
169 int EVP_MD_CTX_reset(EVP_MD_CTX *ctx) {
170 EVP_MD_CTX_cleanup(ctx);
171 EVP_MD_CTX_init(ctx);
175 int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *engine) {
176 if (ctx->digest != type) {
184 OPENSSL_free(ctx->md_data);
185 ctx->md_data = md_data;
186 ctx->digest = type;
189 assert(ctx->pctx == NULL || ctx->pctx_ops != NULL);
191 ctx->digest->init(ctx);
195 int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type) {
196 EVP_MD_CTX_init(ctx);
197 return EVP_DigestInit_ex(ctx, type, NULL);
200 int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, size_t len) {
201 ctx->digest->update(ctx, data, len);
205 int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, uint8_t *md_out, unsigned int *size) {
206 assert(ctx->digest->md_size <= EVP_MAX_MD_SIZE);
207 ctx->digest->final(ctx, md_out);
209 *size = ctx->digest->md_size;
211 OPENSSL_cleanse(ctx->md_data, ctx->digest->ctx_size);
215 int EVP_DigestFinal(EVP_MD_CTX *ctx, uint8_t *md, unsigned int *size) {
216 (void)EVP_DigestFinal_ex(ctx, md, size);
217 EVP_MD_CTX_cleanup(ctx);
223 EVP_MD_CTX ctx;
226 EVP_MD_CTX_init(&ctx);
227 ret = EVP_DigestInit_ex(&ctx, type, impl) &&
228 EVP_DigestUpdate(&ctx, data, count) &&
229 EVP_DigestFinal_ex(&ctx, out_md, out_size);
230 EVP_MD_CTX_cleanup(&ctx);
236 const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx) {
237 if (ctx == NULL) {
240 return ctx->digest;
243 size_t EVP_MD_CTX_size(const EVP_MD_CTX *ctx) {
244 return EVP_MD_size(EVP_MD_CTX_md(ctx));
247 size_t EVP_MD_CTX_block_size(const EVP_MD_CTX *ctx) {
248 return EVP_MD_block_size(EVP_MD_CTX_md(ctx));
251 int EVP_MD_CTX_type(const EVP_MD_CTX *ctx) {
252 return EVP_MD_type(EVP_MD_CTX_md(ctx));