Using AKM, STM, and CSR together, ignoring "incidental" issues such as error and logging, and dropping some variables:
ato_Cxt *ctx;
ato_CfgMgr *cfgmgr;
ato_si_set(
"Your Organisation Name Here",
"SBR CSR Reference Client (C version)",
"0.6", buildtime, hash);
ato_cfgm_create(ctx, &cfgmgr, NULL, "test")
sbr_csr_create(ctx, &csr, "lodge", csrurl, xmlCSRTemplateBufForLodge);
logsomethingbutcarryon("Warning: renewal for '%s' failed\n", alias);
sbr_req_submit(ctx, request, &response, certificate, privatekey, prooftoken, assertion);
free(buffer);
ato_cfgm_free(cfgmgr);
ATO_AKM_EXPORT bool ato_cr_isrenewable(ato_Ctx *ctx, ato_Credential *cr)
ATO_AKM_EXPORT int ato_cr_privatekey(ato_Ctx *ctx, ato_Credential *cr, ato_String **privatekey, const char *pwd)
ATO_AKM_EXPORT int ato_cr_certificate(ato_Ctx *ctx, ato_Credential *cr, ato_String **certificate)
ATO_AKM_EXPORT void * ato_ks_free(ato_Keystore *ks)
ATO_AKM_EXPORT ato_Credential * ato_ks_credential(ato_Keystore *ks, const char *alias)
ATO_AKM_EXPORT int ato_ks_create(ato_Ctx *ctx, ato_Keystore **ks, const char *buffer, const ato_ksProperties *properties)
ATO_AKM_EXPORT void ato_akm_deinit(void)
ATO_AKM_EXPORT int ato_akm_init(ato_Ctx *ctx, unsigned short flag)
ATO_EXPORT void ato_ctx_free(ato_Ctx *ctx)
ATO_EXPORT void ato_ctx_create(ato_Ctx **ctx, const char *id)
ATO_EXPORT void ato_base_deinit(void)
ATO_EXPORT int ato_base_init(ato_Ctx *ctx, unsigned short flag)
ATO_EXPORT int ato_si_set(const char *organisation, const char *product, const char *version, const char *timestamp, const char *source, const char *hash)
struct _ato_String ato_String
#define ATO_BASE_INIT_ALL
ATO_STM_EXPORT int ato_stm_init(ato_Ctx *ctx, unsigned short flag)
ATO_STM_EXPORT void ato_stm_deinit(void)
ATO_STM_EXPORT int ato_stm_stsissue(ato_Ctx *ctx, ato_Stm *stm, ato_StmTkn **st, ato_String *certificate, ato_String *privatekey, const char *relyingpartyurl)
ATO_STM_EXPORT int ato_stm_create(ato_Ctx *ctx, ato_Stm **stm, const char *stsurl, const char *stmtemplate)
ATO_STM_EXPORT void ato_stm_free(ato_Ctx *ctx, ato_Stm *stm)
ATO_STM_EXPORT ato_String * ato_stmtkn_assertion(ato_StmTkn *st)
ATO_STM_EXPORT ato_String * ato_stmtkn_prooftoken(ato_StmTkn *st)
SBR_CSR_EXPORT int sbr_csr_init(ato_Ctx *ctx, unsigned short flag)
Initialise the SDK.
SBR_CSR_EXPORT void sbr_csr_deinit(void)
Deinitialise the SDK.
SBR_CSR_EXPORT int sbr_req_submit(ato_Ctx *ctx, sbr_Request *request, sbr_Response **response, ato_String *certificate, ato_String *privatekey, ato_String *prooftoken, ato_String *assertion)
Use a CSR request object to submit to the CSR service and return a CSR response.
SBR_CSR_EXPORT void sbr_req_free(sbr_Request *request)
Free the CSR request object if not NULL.
SBR_CSR_EXPORT int sbr_req_create(ato_Ctx *ctx, sbr_Request **request, sbr_Csr *csr)
Create a CSR request object based on the service type and template information of the CSR object.
SBR_CSR_EXPORT int sbr_res_xml(ato_Ctx *ctx, sbr_Response *response, char **buffer)
This is a convenience method to extract the entire response as an XML string.
#define SBR_CSR_INIT_ALL
The SBR_CSR_INIT_...
Definition: types.h:60
SBR_CSR_EXPORT void sbr_csr_free(sbr_Csr *csr)
Free the CSR object if not NULL.
SBR_CSR_EXPORT int sbr_csr_create(ato_Ctx *ctx, sbr_Csr **csr, const char *servicetype, const char *csrurl, const char *csrtemplate)
Create a CSR object from the XML stored in csrtemplate.