Add context id getter to TKM DH implementation

This commit is contained in:
Adrian-Ken Rueegsegger 2012-08-22 11:17:14 +02:00 committed by Tobias Brunner
parent ba0d7d9a76
commit 528fc21ffe
3 changed files with 17 additions and 0 deletions

View File

@ -103,6 +103,12 @@ METHOD(diffie_hellman_t, destroy, void,
free(this);
}
METHOD(tkm_diffie_hellman_t, get_id, dh_id_type,
private_tkm_diffie_hellman_t *this)
{
return this->context_id;
}
/*
* Described in header.
*/
@ -119,6 +125,7 @@ tkm_diffie_hellman_t *tkm_diffie_hellman_create(diffie_hellman_group_t group)
.get_dh_group = _get_dh_group,
.destroy = _destroy,
},
.get_id = _get_id,
},
.group = group,
.context_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_DH),

View File

@ -20,6 +20,7 @@
typedef struct tkm_diffie_hellman_t tkm_diffie_hellman_t;
#include <library.h>
#include <tkm/types.h>
/**
* diffie_hellman_t implementation using the trusted key manager.
@ -30,6 +31,14 @@ struct tkm_diffie_hellman_t {
* Implements diffie_hellman_t interface.
*/
diffie_hellman_t dh;
/**
* Get Diffie-Hellman context id.
*
* @return id of this DH context.
*/
dh_id_type (*get_id)(tkm_diffie_hellman_t * const this);
};
/**

View File

@ -27,6 +27,7 @@ START_TEST(test_dh_creation)
dh = tkm_diffie_hellman_create(MODP_4096_BIT);
fail_if(!dh, "MODP_4096 not created");
fail_if(!dh->get_id(dh), "Invalid context id (0)");
dh->dh.destroy(&dh->dh);
}