diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/charon-tkm/src/tkm/tkm_nonceg.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/charon-tkm/src/tkm/tkm_nonceg.c b/src/charon-tkm/src/tkm/tkm_nonceg.c index 1a83a5b16..9ac32a7c7 100644 --- a/src/charon-tkm/src/tkm/tkm_nonceg.c +++ b/src/charon-tkm/src/tkm/tkm_nonceg.c @@ -16,6 +16,9 @@ #include "tkm_nonceg.h" +#include <tkm/client.h> +#include <tkm/constants.h> + typedef struct private_tkm_nonceg_t private_tkm_nonceg_t; /** @@ -33,7 +36,16 @@ struct private_tkm_nonceg_t { METHOD(nonce_gen_t, get_nonce, bool, private_tkm_nonceg_t *this, size_t size, u_int8_t *buffer) { - // TODO: Request nonce from TKM and fill it into buffer. + nonce_type nonce; + + /* request nonce from TKM, the context is not yet used */ + const result_type result = ike_nc_create(1, size, &nonce); + if (result != TKM_OK) + { + return FALSE; + } + + memcpy(buffer, &nonce.data, size); return TRUE; } |