Lines Matching refs:curve
797 nonce_len = auth->curve->nonce_len; in dpp_build_conf_req_attr()
817 clear_len += 4 + auth->curve->hash_len; in dpp_build_conf_req_attr()
871 wpabuf_put_le16(clear, auth->curve->hash_len); in dpp_build_conf_req_attr()
872 wpabuf_put_data(clear, auth_i, auth->curve->hash_len); in dpp_build_conf_req_attr()
891 if (aes_siv_encrypt(auth->ke, auth->curve->hash_len, in dpp_build_conf_req_attr()
1558 const struct dpp_curve_params *curve) in dpp_build_jwk() argument
1571 json_add_string(buf, "crv", curve->jwk_crv); in dpp_build_jwk()
1574 if (json_add_base64url(buf, "x", pos, curve->prime_len) < 0) in dpp_build_jwk()
1577 pos += curve->prime_len; in dpp_build_jwk()
1578 if (json_add_base64url(buf, "y", pos, curve->prime_len) < 0) in dpp_build_jwk()
1624 static bool dpp_supports_curve(const char *curve, struct dpp_bootstrap_info *bi) in dpp_supports_curve() argument
1631 if (os_strcmp(curve, "prime256v1") == 0) in dpp_supports_curve()
1633 else if (os_strcmp(curve, "secp384r1") == 0) in dpp_supports_curve()
1635 else if (os_strcmp(curve, "secp521r1") == 0) in dpp_supports_curve()
1637 else if (os_strcmp(curve, "brainpoolP256r1") == 0) in dpp_supports_curve()
1639 else if (os_strcmp(curve, "brainpoolP384r1") == 0) in dpp_supports_curve()
1641 else if (os_strcmp(curve, "brainpoolP512r1") == 0) in dpp_supports_curve()
1657 const struct dpp_curve_params *curve; /* C-sign-key curve */ in dpp_build_conf_obj_dpp() local
1670 curve = auth->conf->curve; in dpp_build_conf_obj_dpp()
1672 !dpp_supports_curve(curve->name, auth->peer_bi)) { in dpp_build_conf_obj_dpp()
1675 curve->name); in dpp_build_conf_obj_dpp()
1681 nak_curve = auth->curve; in dpp_build_conf_obj_dpp()
1742 auth->curve != auth->conf->net_access_key_curve && in dpp_build_conf_obj_dpp()
1753 auth->curve->name, in dpp_build_conf_obj_dpp()
1800 tailroom += 2 * curve->prime_len * 4 / 3 + os_strlen(auth->conf->kid); in dpp_build_conf_obj_dpp()
1860 curve) < 0) { in dpp_build_conf_obj_dpp()
1868 curve) < 0) { in dpp_build_conf_obj_dpp()
2244 if (aes_siv_encrypt(auth->ke, auth->curve->hash_len, in dpp_build_conf_resp()
2320 if (aes_siv_decrypt(auth->ke, auth->curve->hash_len, in dpp_conf_req_rx()
2337 if (!e_nonce || e_nonce_len != auth->curve->nonce_len) { in dpp_conf_req_rx()
2385 if (rx_auth_i_len != auth->curve->hash_len || in dpp_conf_req_rx()
2386 os_memcmp(rx_auth_i, auth_i, auth->curve->hash_len) != 0) { in dpp_conf_req_rx()
2392 auth_i, auth->curve->hash_len); in dpp_conf_req_rx()
2600 const struct dpp_curve_params *curve; in dpp_parse_jwk() local
2620 curve = dpp_get_curve_jwk_crv(token->string); in dpp_parse_jwk()
2621 if (!curve) { in dpp_parse_jwk()
2633 if (wpabuf_len(x) != curve->prime_len) { in dpp_parse_jwk()
2637 (unsigned int) curve->prime_len, curve->name); in dpp_parse_jwk()
2647 if (wpabuf_len(y) != curve->prime_len) { in dpp_parse_jwk()
2651 (unsigned int) curve->prime_len, curve->name); in dpp_parse_jwk()
2655 key = crypto_ec_key_set_pub(curve->ike_group, wpabuf_head(x), in dpp_parse_jwk()
2660 *key_curve = curve; in dpp_parse_jwk()
2757 const struct dpp_curve_params *curve; in dpp_parse_connector() local
2818 key = dpp_parse_jwk(netkey, &curve); in dpp_parse_connector()
3337 if (aes_siv_decrypt(auth->ke, auth->curve->hash_len, in dpp_conf_resp_rx()
3354 if (!e_nonce || e_nonce_len != auth->curve->nonce_len) { in dpp_conf_resp_rx()
3401 const struct dpp_curve_params *curve; in dpp_conf_resp_rx() local
3418 curve = dpp_get_curve_ike_group(group); in dpp_conf_resp_rx()
3419 if (!curve) { in dpp_conf_resp_rx()
3425 new_pe = dpp_gen_keypair(curve); in dpp_conf_resp_rx()
3434 auth->new_curve = curve; in dpp_conf_resp_rx()
3548 if (aes_siv_decrypt(auth->ke, auth->curve->hash_len, in dpp_conf_result_rx()
3565 if (!e_nonce || e_nonce_len != auth->curve->nonce_len) { in dpp_conf_result_rx()
3603 nonce_len = auth->curve->nonce_len; in dpp_build_conf_result()
3635 if (aes_siv_encrypt(auth->ke, auth->curve->hash_len, in dpp_build_conf_result()
3707 if (aes_siv_decrypt(auth->ke, auth->curve->hash_len, in dpp_conn_status_result_rx()
3724 if (!e_nonce || e_nonce_len != auth->curve->nonce_len) { in dpp_conn_status_result_rx()
3825 nonce_len = auth->curve->nonce_len; in dpp_build_conn_status_result()
3859 if (aes_siv_encrypt(auth->ke, auth->curve->hash_len, in dpp_build_conn_status_result()
3943 dpp_keygen_configurator(const char *curve, const u8 *privkey, in dpp_keygen_configurator() argument
3952 conf->curve = dpp_get_curve_name(curve); in dpp_keygen_configurator()
3953 if (!conf->curve) { in dpp_keygen_configurator()
3954 wpa_printf(MSG_INFO, "DPP: Unsupported curve: %s", curve); in dpp_keygen_configurator()
3960 conf->csign = dpp_set_keypair(&conf->curve, privkey, in dpp_keygen_configurator()
3963 conf->csign = dpp_gen_keypair(conf->curve); in dpp_keygen_configurator()
3965 conf->pp_key = dpp_set_keypair(&conf->curve, pp_key, in dpp_keygen_configurator()
3968 conf->pp_key = dpp_gen_keypair(conf->curve); in dpp_keygen_configurator()
3983 const char *curve, int ap) in dpp_configurator_own_config() argument
3993 auth->curve = dpp_get_curve_name(curve); in dpp_configurator_own_config()
3994 if (!auth->curve) { in dpp_configurator_own_config()
3995 wpa_printf(MSG_INFO, "DPP: Unsupported curve: %s", curve); in dpp_configurator_own_config()
4001 auth->curve->name); in dpp_configurator_own_config()
4003 auth->own_protocol_key = dpp_gen_keypair(auth->curve); in dpp_configurator_own_config()
4157 const struct dpp_curve_params *curve, *own_curve; in dpp_peer_intro() local
4228 intro->peer_key = dpp_parse_jwk(netkey, &curve); in dpp_peer_intro()
4235 if (own_curve != curve) { in dpp_peer_intro()
4238 own_curve->name, curve->name); in dpp_peer_intro()
4251 if (dpp_derive_pmk(Nx, Nx_len, intro->pmk, curve->hash_len) < 0) { in dpp_peer_intro()
4255 intro->pmk_len = curve->hash_len; in dpp_peer_intro()
4258 if (dpp_derive_pmkid(curve, own_key, intro->peer_key, intro->pmkid) < in dpp_peer_intro()
4265 if (dpp_hpke_suite(curve->ike_group, &intro->kem_id, &intro->kdf_id, in dpp_peer_intro()
4268 curve->ike_group); in dpp_peer_intro()
4437 char *mac = NULL, *info = NULL, *curve = NULL; in dpp_bootstrap_gen() local
4463 curve = get_param(cmd, " curve="); in dpp_bootstrap_gen()
4476 if (dpp_keygen(bi, curve, privkey, privkey_len) < 0 || in dpp_bootstrap_gen()
4490 os_free(curve); in dpp_bootstrap_gen()
4565 const char *curve[6] = { "P-256", "P-384", "P-521", in dpp_bootstrap_info() local
4573 for (i = 0; i < ARRAY_SIZE(curve); i++) { in dpp_bootstrap_info()
4576 ret = os_snprintf(pos, end - pos, "%s:", curve[i]); in dpp_bootstrap_info()
4612 bi->curve->name, in dpp_bootstrap_info()
4746 if (peer_bi->curve == own_bi->curve) in dpp_nfc_update_bi_key()
4755 if (dpp_keygen(own_bi, peer_bi->curve->name, NULL, 0) < 0 || in dpp_nfc_update_bi_key()
4793 char *curve; in dpp_configurator_add() local
4801 curve = get_param(cmd, " net_access_key_curve="); in dpp_configurator_add()
4802 if (curve) { in dpp_configurator_add()
4803 net_access_key_curve = dpp_get_curve_name(curve); in dpp_configurator_add()
4807 curve); in dpp_configurator_add()
4810 os_free(curve); in dpp_configurator_add()
4813 curve = get_param(cmd, " curve="); in dpp_configurator_add()
4833 conf = dpp_keygen_configurator(curve, privkey, privkey_len, in dpp_configurator_add()
4844 os_free(curve); in dpp_configurator_add()
4858 char *curve; in dpp_configurator_set() local
4865 curve = get_param(cmd, " net_access_key_curve="); in dpp_configurator_set()
4866 if (curve) { in dpp_configurator_set()
4869 net_access_key_curve = dpp_get_curve_name(curve); in dpp_configurator_set()
4870 os_free(curve); in dpp_configurator_set()
4938 const struct dpp_curve_params *curve, *curve_pp; in dpp_configurator_from_backup() local
4943 curve = dpp_get_curve_ike_group(crypto_ec_key_group(key->csign)); in dpp_configurator_from_backup()
4944 if (!curve) { in dpp_configurator_from_backup()
4955 if (curve != curve_pp) { in dpp_configurator_from_backup()
4964 conf->curve = curve; in dpp_configurator_from_backup()