17#if defined (__cplusplus)
23#if defined(USE_OPENSSL)
24#include <openssl/opensslv.h>
25#if OPENSSL_VERSION_NUMBER >= 0x30000010L && !defined(DISABLE_XKEY_PROVIDER)
26#define HAVE_XKEY_PROVIDER 1
29#include <openssl/provider.h>
30#include <openssl/core_dispatch.h>
36OSSL_provider_init_fn xkey_provider_init;
40#define XKEY_PROV_PROPS "provider=ovpn.xkey"
78typedef int (XKEY_EXTERNAL_SIGN_fn)(
void *handle,
unsigned char *sig,
size_t *siglen,
79 const unsigned char *tbs,
size_t tbslen,
86typedef void (XKEY_PRIVKEY_FREE_fn)(
void *handle);
95xkey_load_generic_key(OSSL_LIB_CTX *libctx,
void *handle, EVP_PKEY *pubkey,
96 XKEY_EXTERNAL_SIGN_fn *sign_op, XKEY_PRIVKEY_FREE_fn *free_op);
114xkey_encode_pkcs1(
unsigned char *enc,
size_t *enc_len,
const char *mdname,
115 const unsigned char *tbs,
size_t tbslen);
119typedef void (XKEY_LOGGING_CALLBACK_fn)(
const char *
msg,
bool debug);
127void xkey_set_logging_cb_function(XKEY_LOGGING_CALLBACK_fn logfunc);
134#if defined (__cplusplus)