|
typedef struct md_store_t | md_store_t |
|
typedef int | md_store_inspect(void *baton, const char *name, const char *aspect, md_store_vtype_t vtype, void *value, apr_pool_t *ptemp) |
|
typedef int | md_store_md_inspect(void *baton, md_store_t *store, md_t *md, apr_pool_t *ptemp) |
|
typedef struct md_credentials_t | md_credentials_t |
|
typedef apr_status_t | md_store_load_cb(md_store_t *store, md_store_group_t group, const char *name, const char *aspect, md_store_vtype_t vtype, void **pvalue, apr_pool_t *p) |
|
typedef apr_status_t | md_store_save_cb(md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, const char *aspect, md_store_vtype_t vtype, void *value, int create) |
|
typedef apr_status_t | md_store_remove_cb(md_store_t *store, md_store_group_t group, const char *name, const char *aspect, apr_pool_t *p, int force) |
|
typedef apr_status_t | md_store_purge_cb(md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name) |
|
typedef apr_status_t | md_store_iter_cb(md_store_inspect *inspect, void *baton, md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *pattern, const char *aspect, md_store_vtype_t vtype) |
|
typedef apr_status_t | md_store_names_iter_cb(md_store_inspect *inspect, void *baton, md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *pattern) |
|
typedef apr_status_t | md_store_move_cb(md_store_t *store, apr_pool_t *p, md_store_group_t from, md_store_group_t to, const char *name, int archive) |
|
typedef apr_status_t | md_store_rename_cb(md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *from, const char *to) |
|
typedef apr_status_t | md_store_get_fname_cb(const char **pfname, md_store_t *store, md_store_group_t group, const char *name, const char *aspect, apr_pool_t *p) |
|
typedef int | md_store_is_newer_cb(md_store_t *store, md_store_group_t group1, md_store_group_t group2, const char *name, const char *aspect, apr_pool_t *p) |
|
typedef apr_time_t | md_store_get_modified_cb(md_store_t *store, md_store_group_t group, const char *name, const char *aspect, apr_pool_t *p) |
|
typedef apr_status_t | md_store_remove_nms_cb(md_store_t *store, apr_pool_t *p, apr_time_t modified, md_store_group_t group, const char *name, const char *aspect) |
|
typedef apr_status_t | md_store_lock_global_cb(md_store_t *store, apr_pool_t *p, apr_time_t max_wait) |
|
typedef void | md_store_unlock_global_cb(md_store_t *store, apr_pool_t *p) |
|
|
const char * | md_store_group_name (unsigned int group) |
|
apr_status_t | md_store_load_json (md_store_t *store, md_store_group_t group, const char *name, const char *aspect, struct md_json_t **pdata, apr_pool_t *p) |
|
apr_status_t | md_store_save_json (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, const char *aspect, struct md_json_t *data, int create) |
|
apr_status_t | md_store_load (md_store_t *store, md_store_group_t group, const char *name, const char *aspect, md_store_vtype_t vtype, void **pdata, apr_pool_t *p) |
|
apr_status_t | md_store_save (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, const char *aspect, md_store_vtype_t vtype, void *data, int create) |
|
apr_status_t | md_store_remove (md_store_t *store, md_store_group_t group, const char *name, const char *aspect, apr_pool_t *p, int force) |
|
apr_status_t | md_store_purge (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name) |
|
apr_status_t | md_store_remove_not_modified_since (md_store_t *store, apr_pool_t *p, apr_time_t modified, md_store_group_t group, const char *name, const char *aspect) |
|
apr_status_t | md_store_iter (md_store_inspect *inspect, void *baton, md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *pattern, const char *aspect, md_store_vtype_t vtype) |
|
apr_status_t | md_store_move (md_store_t *store, apr_pool_t *p, md_store_group_t from, md_store_group_t to, const char *name, int archive) |
|
apr_status_t | md_store_rename (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, const char *to) |
|
apr_status_t | md_store_get_fname (const char **pfname, md_store_t *store, md_store_group_t group, const char *name, const char *aspect, apr_pool_t *p) |
|
int | md_store_is_newer (md_store_t *store, md_store_group_t group1, md_store_group_t group2, const char *name, const char *aspect, apr_pool_t *p) |
|
apr_status_t | md_store_iter_names (md_store_inspect *inspect, void *baton, md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *pattern) |
|
apr_time_t | md_store_get_modified (md_store_t *store, md_store_group_t group, const char *name, const char *aspect, apr_pool_t *p) |
|
apr_status_t | md_store_lock_global (md_store_t *store, apr_pool_t *p, apr_time_t max_wait) |
|
void | md_store_unlock_global (md_store_t *store, apr_pool_t *p) |
|
apr_status_t | md_load (md_store_t *store, md_store_group_t group, const char *name, md_t **pmd, apr_pool_t *p) |
|
apr_status_t | md_save (struct md_store_t *store, apr_pool_t *p, md_store_group_t group, md_t *md, int create) |
|
apr_status_t | md_remove (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, int force) |
|
int | md_is_newer (md_store_t *store, md_store_group_t group1, md_store_group_t group2, const char *name, apr_pool_t *p) |
|
apr_status_t | md_store_md_iter (md_store_md_inspect *inspect, void *baton, md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *pattern) |
|
const char * | md_pkey_filename (struct md_pkey_spec_t *spec, apr_pool_t *p) |
|
const char * | md_chain_filename (struct md_pkey_spec_t *spec, apr_pool_t *p) |
|
apr_status_t | md_pkey_load (md_store_t *store, md_store_group_t group, const char *name, struct md_pkey_spec_t *spec, struct md_pkey_t **ppkey, apr_pool_t *p) |
|
apr_status_t | md_pkey_save (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, struct md_pkey_spec_t *spec, struct md_pkey_t *pkey, int create) |
|
apr_status_t | md_pubcert_load (md_store_t *store, md_store_group_t group, const char *name, struct md_pkey_spec_t *spec, struct apr_array_header_t **ppubcert, apr_pool_t *p) |
|
apr_status_t | md_pubcert_save (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, struct md_pkey_spec_t *spec, struct apr_array_header_t *pubcert, int create) |
|
apr_status_t | md_creds_load (md_store_t *store, md_store_group_t group, const char *name, struct md_pkey_spec_t *spec, md_credentials_t **pcreds, apr_pool_t *p) |
|
apr_status_t | md_creds_save (md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name, md_credentials_t *creds, int create) |
|
A store for domain related data.
The Key for a piece of data is the set of 3 items <group> + <domain> + <aspect>
Examples: "domains" + "greenbytes.de" + "pubcert.pem" "ocsp" + "greenbytes.de" + "ocsp-XXXXX.json"
Storage groups are pre-defined, domain and aspect names can be freely chosen.
Groups reflect use cases and come with security restrictions. The groups DOMAINS, ARCHIVE and NONE are only accessible during the startup phase of httpd.
Private key are stored unencrypted only in restricted groups. Meaning that certificate keys in group DOMAINS are not encrypted, but only readable at httpd start/reload. Keys in unrestricted groups are encrypted using a pass phrase generated once and stored in NONE. Value types handled by a store
Enumerator |
---|
MD_SV_TEXT | |
MD_SV_JSON | |
MD_SV_CERT | |
MD_SV_PKEY | |
MD_SV_CHAIN | |