Use remote PSK signature computed by TKM

This commit is contained in:
Reto Buerki
2013-03-19 15:23:46 +01:00
committed by Tobias Brunner
parent e7a497c307
commit fa22fc2419
+5 -11
View File
@@ -305,9 +305,8 @@ METHOD(tkm_keymat_t, get_psk_sig, bool,
private_tkm_keymat_t *this, bool verify, chunk_t ike_sa_init, chunk_t nonce, private_tkm_keymat_t *this, bool verify, chunk_t ike_sa_init, chunk_t nonce,
chunk_t secret, identification_t *id, char reserved[3], chunk_t *sig) chunk_t secret, identification_t *id, char reserved[3], chunk_t *sig)
{ {
DBG1(DBG_IKE, "returning PSK signature"); DBG1(DBG_IKE, "returning %s PSK signature", verify ? "remote" : "local");
if (!verify)
{
signature_type signature; signature_type signature;
init_message_type msg; init_message_type msg;
chunk_to_sequence(&ike_sa_init, &msg); chunk_to_sequence(&ike_sa_init, &msg);
@@ -319,21 +318,16 @@ METHOD(tkm_keymat_t, get_psk_sig, bool,
idx_type idx; idx_type idx;
chunk_to_sequence(&idx_chunk, &idx); chunk_to_sequence(&idx_chunk, &idx);
if (ike_isa_sign_psk(1, msg, idx, &signature) != TKM_OK) if (ike_isa_sign_psk(1, msg, idx, verify == TRUE, &signature) != TKM_OK)
{ {
DBG1(DBG_IKE, "get local PSK signature failed"); DBG1(DBG_IKE, "get %s PSK signature failed", verify ?
"remote" : "local");
return FALSE; return FALSE;
} }
sequence_to_chunk(&signature.data[0], signature.size, sig); sequence_to_chunk(&signature.data[0], signature.size, sig);
return TRUE; return TRUE;
} }
else
{
return this->proxy->get_psk_sig(this->proxy, verify, ike_sa_init, nonce,
secret, id, reserved, sig);
}
}
METHOD(keymat_t, destroy, void, METHOD(keymat_t, destroy, void,
private_tkm_keymat_t *this) private_tkm_keymat_t *this)