32 #include <ldns/rbtree.h> 42 #define HSM_MAX_SESSIONS 100 44 #define HSM_MAX_ALGONAME 16 46 #define HSM_ERROR_MSGSIZE 512 50 #define HSM_MAX_SIGNATURE_LENGTH 512 56 #define HSM_MAX_PIN_LENGTH 255 63 #define HSM_ERROR 0x10000001 64 #define HSM_PIN_INCORRECT 0x10000002 65 #define HSM_CONFIG_FILE_ERROR 0x10000003 66 #define HSM_REPOSITORY_NOT_FOUND 0x10000004 67 #define HSM_NO_REPOSITORIES 0x10000005 68 #define HSM_MODULE_NOT_FOUND 0x10000006 71 #define HSM_PIN_FIRST 0 72 #define HSM_PIN_RETRY 1 73 #define HSM_PIN_SAVE 2 150 char *(pin_callback)(
unsigned int,
const char *,
unsigned int));
163 hsm_prompt_pin(
unsigned int id,
const char *repository,
unsigned int mode);
175 hsm_check_pin(
unsigned int id,
const char *repository,
unsigned int mode);
261 const char *repository);
279 const char *repository);
311 const char *repository,
312 unsigned long keysize);
328 const char *repository,
329 unsigned long keysize);
344 const char *repository);
422 unsigned char *buffer,
423 unsigned long length);
462 const char *token_name,
482 const char *repository);
size_t hsm_count_keys_repository(hsm_ctx_t *context, const char *repository)
uint64_t hsm_random64(hsm_ctx_t *ctx)
char * hsm_get_error(hsm_ctx_t *gctx)
hsm_ctx_t * hsm_create_context(void)
const char * error_action
char * hsm_get_key_id(hsm_ctx_t *context, const hsm_key_t *key)
unsigned long private_key
hsm_key_t ** hsm_list_keys(hsm_ctx_t *context, size_t *count)
size_t hsm_count_keys(hsm_ctx_t *context)
hsm_key_info_t * hsm_get_key_info(hsm_ctx_t *context, const hsm_key_t *key)
unsigned int allow_extract
int hsm_detach(const char *repository)
void hsm_key_info_free(hsm_key_info_t *key_info)
void hsm_print_tokeninfo(hsm_ctx_t *ctx)
hsm_key_t * hsm_find_key_by_id(hsm_ctx_t *context, const char *id)
int hsm_random_buffer(hsm_ctx_t *ctx, unsigned char *buffer, unsigned long length)
int hsm_open(const char *config, char *(pin_callback)(unsigned int, const char *, unsigned int))
void keycache_create(hsm_ctx_t *ctx)
void hsm_key_list_free(hsm_key_t **key_list, size_t count)
hsm_key_t * hsm_generate_rsa_key(hsm_ctx_t *context, const char *repository, unsigned long keysize)
void keycache_destroy(hsm_ctx_t *ctx)
void hsm_destroy_context(hsm_ctx_t *context)
#define HSM_ERROR_MSGSIZE
int hsm_remove_key(hsm_ctx_t *context, hsm_key_t *key)
int hsm_attach(const char *repository, const char *token_name, const char *path, const char *pin, const hsm_config_t *config)
const hsm_key_t * keycache_lookup(hsm_ctx_t *ctx, const char *locator)
hsm_key_t ** hsm_list_keys_repository(hsm_ctx_t *context, size_t *count, const char *repository)
uint32_t hsm_random32(hsm_ctx_t *ctx)
void hsm_print_ctx(hsm_ctx_t *ctx)
void hsm_print_key(hsm_ctx_t *ctx, hsm_key_t *key)
void hsm_print_error(hsm_ctx_t *ctx)
int hsm_token_attached(hsm_ctx_t *ctx, const char *repository)
hsm_key_t * hsm_generate_dsa_key(hsm_ctx_t *context, const char *repository, unsigned long keysize)
hsm_key_t * hsm_generate_gost_key(hsm_ctx_t *context, const char *repository)
void hsm_key_free(hsm_key_t *key)
void hsm_print_session(hsm_session_t *session)
char * hsm_prompt_pin(unsigned int id, const char *repository, unsigned int mode)
char * hsm_check_pin(unsigned int id, const char *repository, unsigned int mode)