}
}
+METHOD(keymat_t, get_version, ike_version_t,
+ private_keymat_v1_t *this)
+{
+ return IKEV1;
+}
+
METHOD(keymat_t, create_dh, diffie_hellman_t*,
private_keymat_v1_t *this, diffie_hellman_group_t group)
{
INIT(this,
.public = {
.keymat = {
+ .get_version = _get_version,
.create_dh = _create_dh,
.get_aead = _get_aead,
.destroy = _destroy,
chunk_t skp_verify;
};
+METHOD(keymat_t, get_version, ike_version_t,
+ private_keymat_v2_t *this)
+{
+ return IKEV2;
+}
+
METHOD(keymat_t, create_dh, diffie_hellman_t*,
private_keymat_v2_t *this, diffie_hellman_group_t group)
{
INIT(this,
.public = {
.keymat = {
+ .get_version = _get_version,
.create_dh = _create_dh,
.get_aead = _get_aead,
.destroy = _destroy,
*/
struct keymat_t {
+ /**
+ * Get IKE version of this keymat.
+ *
+ * @return IKEV1 for keymat_v1_t, IKEV2 for keymat_v2_t
+ */
+ ike_version_t (*get_version)(keymat_t *this);
+
/**
* Create a diffie hellman object for key agreement.
*