]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
tkm_nonceg: Return nonce generated by TKM
authorReto Buerki <reet@codelabs.ch>
Tue, 12 Jun 2012 09:05:14 +0000 (11:05 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 19 Mar 2013 14:23:45 +0000 (15:23 +0100)
src/charon-tkm/src/tkm/tkm_nonceg.c

index 1a83a5b1628b6968142e577333eefc53e56dff59..9ac32a7c7f61bbbe09d71d879b53486cc93af4b3 100644 (file)
@@ -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;
 }