diff options
author | Richard Levitte <richard@levitte.org> | 2021-02-13 14:56:17 +0100 |
---|---|---|
committer | Dmitry Belyavskiy <beldmit@users.noreply.github.com> | 2021-10-11 19:34:09 +0300 |
commit | dd645e71d12ec790dc6c2e1c44163e2683ae4c6a (patch) | |
tree | e25ee4494237ac6f1e34867c4bbf3d87e2af527d /gost_prov.c | |
parent | bd2d5542f307ae0e9e98a291f0d765a0be58b5fd (diff) | |
download | gost-engine-dd645e71d12ec790dc6c2e1c44163e2683ae4c6a.zip gost-engine-dd645e71d12ec790dc6c2e1c44163e2683ae4c6a.tar.gz gost-engine-dd645e71d12ec790dc6c2e1c44163e2683ae4c6a.tar.bz2 |
Making a gost provider - Add the digests
We add the digests for the provider as wrappers around the routines
designed for ENGINEs. This is not the most elegant, but it does the
job.
When an algorithm has an OID, it's included in the OSSL_ALGORITHM name
as an aliase. This is the way to avoid having to register the OIDs in
OpenSSL proper.
test/01-digest.t is modified to test the provider as well.
Diffstat (limited to 'gost_prov.c')
-rw-r--r-- | gost_prov.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gost_prov.c b/gost_prov.c index 04f4f3d..ba7120b 100644 --- a/gost_prov.c +++ b/gost_prov.c @@ -89,6 +89,8 @@ static const OSSL_ALGORITHM *gost_operation(void *vprovctx, switch (operation_id) { case OSSL_OP_CIPHER: return GOST_prov_ciphers; + case OSSL_OP_DIGEST: + return GOST_prov_digests; } return NULL; } @@ -110,6 +112,7 @@ static const OSSL_ITEM *gost_get_reason_strings(void *provctx) static void gost_teardown(void *vprovctx) { GOST_prov_deinit_ciphers(); + GOST_prov_deinit_digests(); provider_ctx_free(vprovctx); } |