_gnutls_proc_cert_cert_req
};
-static int calc_ecdh_key( gnutls_session_t session, gnutls_datum_t * psk_key)
+static int calc_ecdh_key( gnutls_session_t session, gnutls_datum_t * psk_key,
+ gnutls_ecc_curve_t curve)
{
gnutls_pk_params_st pub;
int ret;
memset(&pub,0,sizeof(pub));
pub.params[ECC_X] = session->key.ecdh_x;
pub.params[ECC_Y] = session->key.ecdh_y;
+ pub.flags = curve;
if (psk_key == NULL)
ret = _gnutls_pk_derive(GNUTLS_PK_EC, &session->key.key, &session->key.ecdh_params, &pub);
return gnutls_assert_val(ret);
/* generate pre-shared key */
- ret = calc_ecdh_key(session, psk_key);
+ ret = calc_ecdh_key(session, psk_key, curve);
if (ret < 0)
return gnutls_assert_val(ret);
return gnutls_assert_val(ret);
/* generate pre-shared key */
- ret = calc_ecdh_key(session, psk_key);
+ ret = calc_ecdh_key(session, psk_key, curve);
if (ret < 0)
return gnutls_assert_val(ret);