Lines Matching refs:c

68 enum err msg1_gen(const struct edhoc_initiator_context *c,  in msg1_gen()  argument
74 m1.message_1_METHOD = (int32_t)c->method; in msg1_gen()
77 if (c->suites_i.len == 1) { in msg1_gen()
80 m1.message_1_SUITES_I_int = c->suites_i.ptr[0]; in msg1_gen()
81 } else if (c->suites_i.len > 1) { in msg1_gen()
84 m1.SUITES_I_suite_l_suite_count = c->suites_i.len; in msg1_gen()
85 for (uint32_t i = 0; i < c->suites_i.len; i++) { in msg1_gen()
86 m1.SUITES_I_suite_l_suite[i] = c->suites_i.ptr[i]; in msg1_gen()
91 m1.message_1_G_X.value = c->g_x.ptr; in msg1_gen()
92 m1.message_1_G_X.len = c->g_x.len; in msg1_gen()
95 PRINT_ARRAY("C_I", c->c_i.ptr, c->c_i.len); in msg1_gen()
96 if (c_x_is_encoded_int(&c->c_i)) { in msg1_gen()
98 TRY(decode_int(&c->c_i, &m1.message_1_C_I_int)); in msg1_gen()
101 m1.message_1_C_I_bstr.value = c->c_i.ptr; in msg1_gen()
102 m1.message_1_C_I_bstr.len = c->c_i.len; in msg1_gen()
105 if (c->ead_1.len != 0) { in msg1_gen()
107 m1.message_1_ead_1.value = c->ead_1.ptr; in msg1_gen()
108 m1.message_1_ead_1.len = c->ead_1.len; in msg1_gen()
122 TRY(get_suite((enum suite_label)c->suites_i.ptr[c->suites_i.len - 1], in msg1_gen()
129 static enum err msg2_process(const struct edhoc_initiator_context *c, in msg2_process() argument
149 TRY(shared_secret_derive(rc->suite.edhoc_ecdh, &c->x, &g_y, g_xy.ptr)); in msg2_process()
184 &c->x, PRK_3e2m->ptr)); in msg2_process()
196 &c->i, rc->prk_4e3m.ptr)); in msg2_process()
202 static enum err msg3_only_gen(const struct edhoc_initiator_context *c, in msg3_only_gen() argument
209 c->id_cred_i.len + AS_BSTR_SIZE(SIG_OR_MAC_SIZE) + in msg3_only_gen()
210 c->ead_3.len); in msg3_only_gen()
216 TRY(signature_or_mac(GENERATE, static_dh_i, &rc->suite, &c->sk_i, in msg3_only_gen()
217 &c->pk_i, &rc->prk_4e3m, &NULL_ARRAY, th3, in msg3_only_gen()
218 &c->id_cred_i, &c->cred_i, &c->ead_3, MAC_3, in msg3_only_gen()
222 TRY(ciphertext_gen(CIPHERTEXT3, &rc->suite, &NULL_ARRAY, &c->id_cred_i, in msg3_only_gen()
223 &sign_or_mac_3, &c->ead_3, PRK_3e2m, th3, in msg3_only_gen()
231 TRY(th34_calculate(rc->suite.edhoc_hash, th3, &plaintext, &c->cred_i, in msg3_only_gen()
240 enum err msg3_gen(const struct edhoc_initiator_context *c, in msg3_gen() argument
245 authentication_type_get(c->method, &static_dh_i, &static_dh_r); in msg3_gen()
250 TRY(msg2_process(c, rc, cred_r_array, c_r, static_dh_i, static_dh_r, in msg3_gen()
254 msg3_only_gen(c, rc, static_dh_i, &th3, &PRK_3e2m, prk_out); in msg3_gen()
278 const struct edhoc_initiator_context *c, in edhoc_initiator_run_extended() argument
289 TRY(msg1_gen(c, &rc)); in edhoc_initiator_run_extended()
290 TRY(tx(c->sock, &rc.msg)); in edhoc_initiator_run_extended()
295 TRY(rx(c->sock, &rc.msg)); in edhoc_initiator_run_extended()
298 TRY(msg3_gen(c, &rc, cred_r_array, c_r_bytes, prk_out)); in edhoc_initiator_run_extended()
299 TRY(ead_process(c->params_ead_process, &rc.ead)); in edhoc_initiator_run_extended()
300 TRY(tx(c->sock, &rc.msg)); in edhoc_initiator_run_extended()
306 TRY(rx(c->sock, &rc.msg)); in edhoc_initiator_run_extended()
308 TRY(ead_process(c->params_ead_process, &rc.ead)); in edhoc_initiator_run_extended()
314 const struct edhoc_initiator_context *c, in edhoc_initiator_run() argument
323 return edhoc_initiator_run_extended(c, cred_r_array, err_msg, &c_r, in edhoc_initiator_run()