/**********************************************************************
* md_gost.c *
* Copyright (c) 2005-2006 Cryptocom LTD *
+ * Copyright (c) 2020 Vitaly Chikunov <vt@altlinux.org> *
* This file is distributed under the same license as OpenSSL *
* *
* OpenSSL interface to GOST R 34.11-94 hash functions *
EVP_MD_meth_free(md);
md = NULL;
}
+ if (md && d->alias)
+ EVP_add_digest_alias(EVP_MD_name(md), d->alias);
d->digest = md;
return md;
}
void GOST_deinit_digest(GOST_digest *d)
{
+ if (d->alias)
+ EVP_delete_digest_alias(d->alias);
EVP_MD_meth_free(d->digest);
d->digest = NULL;
}
-EVP_MD *digest_gost(void)
-{
- return GOST_init_digest(&GostR3411_94_digest);
-}
-
-void digest_gost_destroy(void)
-{
- GOST_deinit_digest(&GostR3411_94_digest);
-}
-
int gost_digest_init(EVP_MD_CTX *ctx)
{
struct ossl_gost_digest_ctx *c = EVP_MD_CTX_md_data(ctx);