diff options
author | Rob Austein <sra@hactrn.net> | 2015-12-23 21:35:28 -0500 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2015-12-23 21:35:28 -0500 |
commit | a1e4e4fe7331338ece1a6d3ba01862a35a22f4ae (patch) | |
tree | bfccf359539f1d98d314eea4e3043e9f379cc3c1 /ks.c | |
parent | 0fc5ab986329e48ac8de0fd8fa12455c1e6345af (diff) |
RPC interface to TRNG and (incomplete) PIN code.
Diffstat (limited to 'ks.c')
-rw-r--r-- | ks.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -273,6 +273,27 @@ hal_error_t hal_ks_list(hal_rpc_pkey_key_info_t *result, return HAL_OK; } +hal_error_t hal_ks_get_pin(const hal_user_t user, + const hal_ks_pin_t **pin) +{ + if (pin == NULL) + return HAL_ERROR_BAD_ARGUMENTS; + + const hal_ks_keydb_t * const db = hal_ks_get_keydb(); + + if (db == NULL) + return HAL_ERROR_KEYSTORE_ACCESS; + + switch (user) { + case HAL_USER_WHEEL: *pin = &db->wheel_pin; break; + case HAL_USER_SO: *pin = &db->so_pin; break; + case HAL_USER_NORMAL: *pin = &db->user_pin; break; + default: return HAL_ERROR_BAD_ARGUMENTS; + } + + return HAL_OK; +} + /* * Local variables: * indent-tabs-mode: nil |