OpenDNSSEC-enforcer  2.1.10
Functions
hsm_key_factory.h File Reference
#include "db/hsm_key.h"
#include "db/policy_key.h"
#include "daemon/engine.h"
#include <time.h>

Go to the source code of this file.

Functions

void hsm_key_factory_deinit (void)
 
int hsm_key_factory_generate (engine_type *engine, const db_connection_t *connection, const policy_t *policy, const policy_key_t *policy_key, time_t duration)
 
int hsm_key_factory_generate_policy (engine_type *engine, const db_connection_t *connection, const policy_t *policy, time_t duration)
 
int hsm_key_factory_generate_all (engine_type *engine, const db_connection_t *connection, time_t duration)
 
int hsm_key_factory_schedule_generate_policy (engine_type *engine, const policy_t *policy_orig, time_t duration)
 
int hsm_key_factory_schedule_generate_all (engine_type *engine, time_t duration)
 
hsm_key_thsm_key_factory_get_key (engine_type *engine, const db_connection_t *connection, const policy_key_t *policy_key, hsm_key_state_t hsm_key_state)
 
int hsm_key_factory_release_key_id (const db_value_t *hsm_key_id, const db_connection_t *connection)
 
int hsm_key_factory_release_key (hsm_key_t *hsm_key, const db_connection_t *connection)
 
int hsm_key_factory_delete_key (const db_connection_t *connection)
 

Function Documentation

◆ hsm_key_factory_deinit()

void hsm_key_factory_deinit ( void  )

Definition at line 84 of file hsm_key_factory.c.

◆ hsm_key_factory_delete_key()

int hsm_key_factory_delete_key ( const db_connection_t connection)

Delete keys that are marked DELETE from the database and the HSM itself,

Returns
The number of keys actually purged from the HSM.

Definition at line 810 of file hsm_key_factory.c.

◆ hsm_key_factory_generate()

int hsm_key_factory_generate ( engine_type engine,
const db_connection_t connection,
const policy_t policy,
const policy_key_t policy_key,
time_t  duration 
)

TODO

Returns
0 success, 1 error

Definition at line 94 of file hsm_key_factory.c.

◆ hsm_key_factory_generate_all()

int hsm_key_factory_generate_all ( engine_type engine,
const db_connection_t connection,
time_t  duration 
)

TODO

Returns
0 success, 1 error

Definition at line 386 of file hsm_key_factory.c.

◆ hsm_key_factory_generate_policy()

int hsm_key_factory_generate_policy ( engine_type engine,
const db_connection_t connection,
const policy_t policy,
time_t  duration 
)

TODO

Returns
0 success, 1 error

Definition at line 346 of file hsm_key_factory.c.

◆ hsm_key_factory_get_key()

hsm_key_t* hsm_key_factory_get_key ( engine_type engine,
const db_connection_t connection,
const policy_key_t policy_key,
hsm_key_state_t  hsm_key_state 
)

Allocate a private or shared HSM key for the policy key provided. This will also schedule a task for generating more keys if needed.

Parameters
[in]enginean engine_type.
[in]connectiona database connection.
[in]policy_keya policy key.
[in]hsm_key_stateindicate if its a private or shared key that should be fetched (HSM_KEY_STATE_PRIVATE | HSM_KEY_STATE_SHARED).
Returns
an allocated HSM key or NULL on error or if there are no unused keys available for allocation right now.

Definition at line 629 of file hsm_key_factory.c.

◆ hsm_key_factory_release_key()

int hsm_key_factory_release_key ( hsm_key_t hsm_key,
const db_connection_t connection 
)

Release a key, if its not used anyore it will be marked DELETE.

Parameters
[in]hsm_keya hsm_key_t pointer with the hsm_key to release.
Returns
non-zero on error.

Definition at line 763 of file hsm_key_factory.c.

◆ hsm_key_factory_release_key_id()

int hsm_key_factory_release_key_id ( const db_value_t hsm_key_id,
const db_connection_t connection 
)

Release a key, if its not used anyore it will be marked DELETE.

Parameters
[in]hsm_key_ida db_value_t pointer with the hsm_key database id.
Returns
non-zero on error.

Definition at line 704 of file hsm_key_factory.c.

◆ hsm_key_factory_schedule_generate_all()

int hsm_key_factory_schedule_generate_all ( engine_type engine,
time_t  duration 
)

Schedule a task to generate keys for all policies and policy keys we currently have.

Parameters
[in]enginean engine_type.
[in]durationa time_t specifying the duration to generate keys from, if its zero then the duration from conf.xml is taken.
Returns
non-zero on error.

Definition at line 598 of file hsm_key_factory.c.

◆ hsm_key_factory_schedule_generate_policy()

int hsm_key_factory_schedule_generate_policy ( engine_type engine,
const policy_t policy_orig,
time_t  duration 
)

Schedule a task to generate keys for a specific policy.

Parameters
[in]enginean engine_type. \prama[in] policy_orig a policy_t pointer to the policy we will generate keys for.
[in]durationa time_t specifying the duration to generate keys from, if its zero then the duration from conf.xml is taken.
Returns
non-zero on error.

Definition at line 560 of file hsm_key_factory.c.