aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorReto Buerki <reet@codelabs.ch>2012-06-12 11:05:14 +0200
committerTobias Brunner <tobias@strongswan.org>2013-03-19 15:23:45 +0100
commit8e95bf455dda5fd528065167617a33a8251ee35f (patch)
treeca8efb925203d82df19258d65864642411f0e383 /src
parent3d2746309e24f232e24687287d9e63d0dde1cadf (diff)
downloadstrongswan-8e95bf455dda5fd528065167617a33a8251ee35f.tar.bz2
strongswan-8e95bf455dda5fd528065167617a33a8251ee35f.tar.xz
tkm_nonceg: Return nonce generated by TKM
Diffstat (limited to 'src')
-rw-r--r--src/charon-tkm/src/tkm/tkm_nonceg.c14
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;
}