Lines Matching refs:keys

371 			   struct ikev2_keys *keys, int initiator,  in ikev2_derive_auth_data()  argument
380 const u8 *SK_p = initiator ? keys->SK_pi : keys->SK_pr; in ikev2_derive_auth_data()
394 if (ikev2_prf_hash(prf->id, SK_p, keys->SK_prf_len, in ikev2_derive_auth_data()
429 struct ikev2_keys *keys, int initiator, in ikev2_decrypt_payload() argument
440 const u8 *SK_e = initiator ? keys->SK_ei : keys->SK_er; in ikev2_decrypt_payload()
441 const u8 *SK_a = initiator ? keys->SK_ai : keys->SK_ar; in ikev2_decrypt_payload()
476 if (ikev2_integ_hash(integ_id, SK_a, keys->SK_integ_len, in ikev2_decrypt_payload()
499 if (ikev2_encr_decrypt(encr_alg->id, SK_e, keys->SK_encr_len, iv, pos, in ikev2_decrypt_payload()
530 int ikev2_build_encrypted(int encr_id, int integ_id, struct ikev2_keys *keys, in ikev2_build_encrypted() argument
540 const u8 *SK_e = initiator ? keys->SK_ei : keys->SK_er; in ikev2_build_encrypted()
541 const u8 *SK_a = initiator ? keys->SK_ai : keys->SK_ar; in ikev2_build_encrypted()
586 if (ikev2_encr_encrypt(encr_alg->id, SK_e, keys->SK_encr_len, iv, in ikev2_build_encrypted()
600 return ikev2_integ_hash(integ_id, SK_a, keys->SK_integ_len, in ikev2_build_encrypted()
608 int ikev2_keys_set(struct ikev2_keys *keys) in ikev2_keys_set() argument
610 return keys->SK_d && keys->SK_ai && keys->SK_ar && keys->SK_ei && in ikev2_keys_set()
611 keys->SK_er && keys->SK_pi && keys->SK_pr; in ikev2_keys_set()
615 void ikev2_free_keys(struct ikev2_keys *keys) in ikev2_free_keys() argument
617 os_free(keys->SK_d); in ikev2_free_keys()
618 os_free(keys->SK_ai); in ikev2_free_keys()
619 os_free(keys->SK_ar); in ikev2_free_keys()
620 os_free(keys->SK_ei); in ikev2_free_keys()
621 os_free(keys->SK_er); in ikev2_free_keys()
622 os_free(keys->SK_pi); in ikev2_free_keys()
623 os_free(keys->SK_pr); in ikev2_free_keys()
624 keys->SK_d = keys->SK_ai = keys->SK_ar = keys->SK_ei = keys->SK_er = in ikev2_free_keys()
625 keys->SK_pi = keys->SK_pr = NULL; in ikev2_free_keys()
633 struct ikev2_keys *keys) in ikev2_derive_sk_keys() argument
642 ikev2_free_keys(keys); in ikev2_derive_sk_keys()
643 keys->SK_d_len = prf->key_len; in ikev2_derive_sk_keys()
644 keys->SK_integ_len = integ->key_len; in ikev2_derive_sk_keys()
645 keys->SK_encr_len = encr->key_len; in ikev2_derive_sk_keys()
646 keys->SK_prf_len = prf->key_len; in ikev2_derive_sk_keys()
648 keybuf_len = keys->SK_d_len + 2 * keys->SK_integ_len + in ikev2_derive_sk_keys()
649 2 * keys->SK_encr_len + 2 * keys->SK_prf_len; in ikev2_derive_sk_keys()
662 keys->SK_d = os_malloc(keys->SK_d_len); in ikev2_derive_sk_keys()
663 if (keys->SK_d) { in ikev2_derive_sk_keys()
664 os_memcpy(keys->SK_d, pos, keys->SK_d_len); in ikev2_derive_sk_keys()
666 keys->SK_d, keys->SK_d_len); in ikev2_derive_sk_keys()
668 pos += keys->SK_d_len; in ikev2_derive_sk_keys()
670 keys->SK_ai = os_malloc(keys->SK_integ_len); in ikev2_derive_sk_keys()
671 if (keys->SK_ai) { in ikev2_derive_sk_keys()
672 os_memcpy(keys->SK_ai, pos, keys->SK_integ_len); in ikev2_derive_sk_keys()
674 keys->SK_ai, keys->SK_integ_len); in ikev2_derive_sk_keys()
676 pos += keys->SK_integ_len; in ikev2_derive_sk_keys()
678 keys->SK_ar = os_malloc(keys->SK_integ_len); in ikev2_derive_sk_keys()
679 if (keys->SK_ar) { in ikev2_derive_sk_keys()
680 os_memcpy(keys->SK_ar, pos, keys->SK_integ_len); in ikev2_derive_sk_keys()
682 keys->SK_ar, keys->SK_integ_len); in ikev2_derive_sk_keys()
684 pos += keys->SK_integ_len; in ikev2_derive_sk_keys()
686 keys->SK_ei = os_malloc(keys->SK_encr_len); in ikev2_derive_sk_keys()
687 if (keys->SK_ei) { in ikev2_derive_sk_keys()
688 os_memcpy(keys->SK_ei, pos, keys->SK_encr_len); in ikev2_derive_sk_keys()
690 keys->SK_ei, keys->SK_encr_len); in ikev2_derive_sk_keys()
692 pos += keys->SK_encr_len; in ikev2_derive_sk_keys()
694 keys->SK_er = os_malloc(keys->SK_encr_len); in ikev2_derive_sk_keys()
695 if (keys->SK_er) { in ikev2_derive_sk_keys()
696 os_memcpy(keys->SK_er, pos, keys->SK_encr_len); in ikev2_derive_sk_keys()
698 keys->SK_er, keys->SK_encr_len); in ikev2_derive_sk_keys()
700 pos += keys->SK_encr_len; in ikev2_derive_sk_keys()
702 keys->SK_pi = os_malloc(keys->SK_prf_len); in ikev2_derive_sk_keys()
703 if (keys->SK_pi) { in ikev2_derive_sk_keys()
704 os_memcpy(keys->SK_pi, pos, keys->SK_prf_len); in ikev2_derive_sk_keys()
706 keys->SK_pi, keys->SK_prf_len); in ikev2_derive_sk_keys()
708 pos += keys->SK_prf_len; in ikev2_derive_sk_keys()
710 keys->SK_pr = os_malloc(keys->SK_prf_len); in ikev2_derive_sk_keys()
711 if (keys->SK_pr) { in ikev2_derive_sk_keys()
712 os_memcpy(keys->SK_pr, pos, keys->SK_prf_len); in ikev2_derive_sk_keys()
714 keys->SK_pr, keys->SK_prf_len); in ikev2_derive_sk_keys()
719 if (!ikev2_keys_set(keys)) { in ikev2_derive_sk_keys()
720 ikev2_free_keys(keys); in ikev2_derive_sk_keys()