diff options
author | Rob Austein <sra@hactrn.net> | 2016-03-03 23:25:28 -0500 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2016-03-03 23:25:28 -0500 |
commit | 8f9c3d1e3c9b2f882032a551b8ca46684ab030ae (patch) | |
tree | a5713e004a20678d88b69eac060472b14a1545f9 /ks_flash.c | |
parent | cef7ba6f7024a2c3a53760be8c5fc4f937e8efb5 (diff) |
Initial implementations of ks_get_kek(). Untested, and none of these
are secure (the one in ks_flash.c is a stub, and the others are for
cases where we have no secure hardware in which to store the KEK).
These are primarily for testing, since in the long run the entire
software implementation of AES-keywrap will be replaced by Verilog
which never lets software see the unwrapped key. Or so says current
theory. For the moment, we just need something that will let us test
the rest of the RPC and keystore mechanisms.
Diffstat (limited to 'ks_flash.c')
-rw-r--r-- | ks_flash.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -85,6 +85,24 @@ hal_error_t hal_ks_set_pin(const hal_user_t user, } +hal_error_t hal_ks_get_kek(uint8_t *kek, + size_t *kek_len, + const size_t kek_max) +{ + if (kek == NULL || kek_len == NULL || kek_max < bitsToBytes(128)) + return HAL_ERROR_BAD_ARGUMENTS; + + const size_t len = ((kek_max < bitsToBytes(192)) ? bitsToBytes(128) : + (kek_max < bitsToBytes(256)) ? bitsToBytes(192) : + bitsToBytes(256)); + +#error Or what goes here + + return HAL_OK; +} + + + /* * Local variables: * indent-tabs-mode: nil |