*/
ae_id_type ae_ctx_id;
+ /**
+ * AUTH payload chunk.
+ */
+ chunk_t auth_payload;
+
};
/**
DESTROY_IF(this->aead_in);
DESTROY_IF(this->aead_out);
+ chunk_free(&this->auth_payload);
this->proxy->keymat.destroy(&this->proxy->keymat);
free(this);
}
return this->isa_ctx_id;
}
+METHOD(tkm_keymat_t, set_auth_payload, void,
+ private_tkm_keymat_t *this, const chunk_t * const payload)
+{
+ this->auth_payload = chunk_clone(*payload);
+}
+
+METHOD(tkm_keymat_t, get_auth_payload, chunk_t*,
+ private_tkm_keymat_t *this)
+{
+ return &this->auth_payload;
+}
+
/**
* See header.
*/
.get_auth_octets = _get_auth_octets,
.get_psk_sig = _get_psk_sig,
.get_isa_id = _get_isa_id,
+ .set_auth_payload = _set_auth_payload,
+ .get_auth_payload = _get_auth_payload,
},
.initiator = initiator,
.isa_ctx_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_ISA),
.ae_ctx_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_AE),
+ .auth_payload = chunk_empty,
.proxy = keymat_v2_create(initiator),
);
*/
isa_id_type (*get_isa_id)(tkm_keymat_t * const this);
+ /**
+ * Set IKE AUTH payload.
+ *
+ * @param payload AUTH payload
+ */
+ void (*set_auth_payload)(tkm_keymat_t *this, const chunk_t * const payload);
+
+ /**
+ * Get IKE AUTH payload.
+ *
+ * @return AUTH payload if set, chunk_empty otherwise
+ */
+ chunk_t* (*get_auth_payload)(tkm_keymat_t * const this);
+
};
/**