CAPI_CTX
CAPI_CTX *ctx;
static void capi_vtrace(CAPI_CTX *ctx, int level, char *format,
static void CAPI_trace(CAPI_CTX *ctx, char *format, ...)
static void CAPI_trace(CAPI_CTX *ctx, char *format, ...);
static int capi_list_providers(CAPI_CTX *ctx, BIO *out);
static int capi_get_provname(CAPI_CTX *ctx, LPSTR *pname, DWORD *ptype,
static int capi_list_containers(CAPI_CTX *ctx, BIO *out);
int capi_list_certs(CAPI_CTX *ctx, BIO *out, char *storename);
static int capi_list_providers(CAPI_CTX *ctx, BIO *out)
static PCCERT_CONTEXT capi_find_cert(CAPI_CTX *ctx, const char *id,
static int capi_list_containers(CAPI_CTX *ctx, BIO *out)
CAPI_KEY *capi_find_key(CAPI_CTX *ctx, const char *id);
static CRYPT_KEY_PROV_INFO *capi_get_prov_info(CAPI_CTX *ctx,
static void capi_dump_prov_info(CAPI_CTX *ctx, BIO *out,
static char *capi_cert_get_fname(CAPI_CTX *ctx, PCCERT_CONTEXT cert)
static void capi_dump_cert(CAPI_CTX *ctx, BIO *out, PCCERT_CONTEXT cert)
static HCERTSTORE capi_open_store(CAPI_CTX *ctx, char *storename)
int capi_list_certs(CAPI_CTX *ctx, BIO *out, char *id)
static PCCERT_CONTEXT capi_find_cert(CAPI_CTX *ctx, const char *id,
static CAPI_KEY *capi_get_key(CAPI_CTX *ctx, const WCHAR *contname,
static CAPI_KEY *capi_get_cert_key(CAPI_CTX *ctx, PCCERT_CONTEXT cert)
CAPI_KEY *capi_find_key(CAPI_CTX *ctx, const char *id)
static CAPI_CTX *capi_ctx_new(void)
CAPI_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx));
static void capi_ctx_free(CAPI_CTX *ctx)
static int capi_ctx_set_provname(CAPI_CTX *ctx, LPSTR pname, DWORD type,
static int capi_ctx_set_provname_idx(CAPI_CTX *ctx, int idx)
CAPI_CTX *ctx;
CAPI_CTX *ctx;
static CAPI_CTX *capi_ctx_new(void);
static void capi_ctx_free(CAPI_CTX *ctx);
static int capi_ctx_set_provname(CAPI_CTX *ctx, LPSTR pname, DWORD type,
static int capi_ctx_set_provname_idx(CAPI_CTX *ctx, int idx);
CAPI_CTX *ctx;
CAPI_CTX *ctx;
CAPI_CTX *ctx;
CAPI_CTX *ctx;
CAPI_CTX *ctx;
CAPI_CTX *ctx;