This function returns a nonce generator object.
return lib->crypto->create_dh(lib->crypto, group);
}
+METHOD(keymat_t, create_nonce_gen, nonce_gen_t*,
+ private_keymat_v1_t *this)
+{
+ return lib->crypto->create_nonce_gen(lib->crypto);
+}
+
METHOD(keymat_t, get_aead, aead_t*,
private_keymat_v1_t *this, bool in)
{
.keymat = {
.get_version = _get_version,
.create_dh = _create_dh,
+ .create_nonce_gen = _create_nonce_gen,
.get_aead = _get_aead,
.destroy = _destroy,
},
return lib->crypto->create_dh(lib->crypto, group);
}
+METHOD(keymat_t, create_nonce_gen, nonce_gen_t*,
+ private_keymat_v2_t *this)
+{
+ return lib->crypto->create_nonce_gen(lib->crypto);
+}
+
/**
* Derive IKE keys for a combined AEAD algorithm
*/
.keymat = {
.get_version = _get_version,
.create_dh = _create_dh,
+ .create_nonce_gen = _create_nonce_gen,
.get_aead = _get_aead,
.destroy = _destroy,
},
diffie_hellman_t* (*create_dh)(keymat_t *this,
diffie_hellman_group_t group);
+ /**
+ * Create a nonce generator object.
+ *
+ * The nonce generator can be used to create nonces needed during IKE/CHILD
+ * SA establishment or rekeying.
+ *
+ * @return nonce generator object
+ */
+ nonce_gen_t* (*create_nonce_gen)(keymat_t *this);
+
/*
* Get a AEAD transform to en-/decrypt and sign/verify IKE messages.
*