aboutsummaryrefslogtreecommitdiff
path: root/gost_prov.c
diff options
context:
space:
mode:
authorVitaly Chikunov <vt@altlinux.org>2021-12-20 01:35:58 +0300
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>2021-12-20 12:34:13 +0300
commite847cc4876d2b105b119e0db1e4166d266642a66 (patch)
tree78fb4f804a0627299b2dc6ff961631a4ab6f2a1e /gost_prov.c
parentb85ad0f1bf5be3684c2243e0c1fc09464f244b26 (diff)
downloadgost-engine-e847cc4876d2b105b119e0db1e4166d266642a66.zip
gost-engine-e847cc4876d2b105b119e0db1e4166d266642a66.tar.gz
gost-engine-e847cc4876d2b105b119e0db1e4166d266642a66.tar.bz2
Output provider info
Output something in `openssl list -providers` so it's merrier. Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
Diffstat (limited to 'gost_prov.c')
-rw-r--r--gost_prov.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gost_prov.c b/gost_prov.c
index 390275c..b4de15f 100644
--- a/gost_prov.c
+++ b/gost_prov.c
@@ -8,6 +8,7 @@
**********************************************************************/
#include <openssl/core_dispatch.h>
+#include <openssl/core_names.h>
#include "gost_prov.h"
#include "gost_lcl.h"
#include "prov/err.h" /* libprov err functions */
@@ -99,6 +100,15 @@ static const OSSL_ALGORITHM *gost_operation(void *vprovctx,
static int gost_get_params(void *provctx, OSSL_PARAM *params)
{
+ OSSL_PARAM *p;
+
+ p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_NAME);
+ if (p != NULL && !OSSL_PARAM_set_utf8_ptr(p, "OpenSSL GOST Provider"))
+ return 0;
+ p = OSSL_PARAM_locate(params, OSSL_PROV_PARAM_STATUS);
+ if (p != NULL && !OSSL_PARAM_set_int(p, 1)) /* We never fail. */
+ return 0;
+
return 1;
}