1 /**********************************************************************
2 * gost_prov.h - The provider itself *
4 * Copyright (c) 2021 Richard Levitte <richard@levitte.org> *
5 * This file is distributed under the same license as OpenSSL *
7 * Requires OpenSSL 3.0 for compilation *
8 **********************************************************************/
10 #include <openssl/core.h>
11 #include <openssl/engine.h>
13 struct provider_ctx_st {
15 const OSSL_CORE_HANDLE *core_handle;
16 struct proverr_functions_st *proverr_handle;
19 * "internal" GOST engine, which is the implementation that all the
20 * provider functions will use to access the crypto functionality.
21 * This is pure hackery, but allows us to quickly wrap all the ENGINE
22 * function with provider wrappers. There is no other supported way
27 typedef struct provider_ctx_st PROV_CTX;