]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_md.c
gost_md: Rework alias support in digest registration
[openssl-gost/engine.git] / gost_md.c
index 1de9ffd67abb4d9d57e902c8a8f6e80cde6a3cdd..909054fba2a8f2b6a366a5c4c9acc7131ef83c87 100644 (file)
--- a/gost_md.c
+++ b/gost_md.c
@@ -63,12 +63,16 @@ EVP_MD *GOST_init_digest(GOST_digest *d)
         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;
 }