X-Git-Url: http://www.wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_prov.h;fp=gost_prov.h;h=c7f6e661bdcc4c19423aa3c7ed1ba4ec0f6dd506;hb=265d89dcbce7fce4fa2b560b70597132fd8eb3b2;hp=0000000000000000000000000000000000000000;hpb=23ccf9300e496e115742a44d5f52490f431156f5;p=openssl-gost%2Fengine.git diff --git a/gost_prov.h b/gost_prov.h new file mode 100644 index 0000000..c7f6e66 --- /dev/null +++ b/gost_prov.h @@ -0,0 +1,27 @@ +/********************************************************************** + * gost_prov.h - The provider itself * + * * + * Copyright (c) 2021 Richard Levitte * + * This file is distributed under the same license as OpenSSL * + * * + * Requires OpenSSL 3.0 for compilation * + **********************************************************************/ + +#include +#include + +struct provider_ctx_st { + OSSL_LIB_CTX *libctx; + const OSSL_CORE_HANDLE *core_handle; + struct proverr_functions_st *proverr_handle; + + /* + * "internal" GOST engine, which is the implementation that all the + * provider functions will use to access the crypto functionality. + * This is pure hackery, but allows us to quickly wrap all the ENGINE + * function with provider wrappers. There is no other supported way + * to do this. + */ + ENGINE *e; +}; +typedef struct provider_ctx_st PROV_CTX;