free(this);
}
+METHOD(tkm_nonceg_t, get_id, nc_id_type,
+ private_tkm_nonceg_t *this)
+{
+ return this->context_id;
+}
+
/*
* Described in header.
*/
.allocate_nonce = _allocate_nonce,
.destroy = _destroy,
},
+ .get_id = _get_id,
},
.context_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_NONCE),
);
typedef struct tkm_nonceg_t tkm_nonceg_t;
#include <library.h>
+#include <tkm/types.h>
/**
* nonce_gen_t implementation using the trusted key manager.
* Implements nonce_gen_t.
*/
nonce_gen_t nonce_gen;
+
+ /**
+ * Get nonce context id.
+ *
+ * @return context id of this nonce generator.
+ */
+ nc_id_type (*get_id)(tkm_nonceg_t * const this);
+
};
/**
ng = tkm_nonceg_create();
fail_if(ng == NULL, "Error creating tkm nonce generator");
+ fail_if(ng->get_id(ng) == 0, "Invalid context id (0)");
ng->nonce_gen.destroy(&ng->nonce_gen);
}