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)
{
- DBG1(DBG_IKE, "returning %s PSK signature", verify ? "remote" : "local");
-
- signature_type signature;
- init_message_type msg;
- chunk_to_sequence(&ike_sa_init, &msg, sizeof(init_message_type));
-
- chunk_t idx_chunk, chunk = chunk_alloca(4);
- chunk.ptr[0] = id->get_type(id);
- memcpy(chunk.ptr + 1, reserved, 3);
- idx_chunk = chunk_cata("cc", chunk, id->get_encoding(id));
- idx_type idx;
- chunk_to_sequence(&idx_chunk, &idx, sizeof(idx_type));
-
- if (ike_isa_sign_psk(this->isa_ctx_id, msg, idx, verify == TRUE, &signature)
- != TKM_OK)
- {
- DBG1(DBG_IKE, "get %s PSK signature failed", verify ?
- "remote" : "local");
- return FALSE;
- }
-
- sequence_to_chunk(&signature.data[0], signature.size, sig);
- return TRUE;
+ return FALSE;
}
METHOD(keymat_t, destroy, void,