Lines Matching refs:keys

41 	{ ENCR_AES_CBC, 16, 16 }, /* only 128-bit keys supported for now */
438 struct ikev2_keys *keys, int initiator,
447 const u8 *SK_p = initiator ? keys->SK_pi : keys->SK_pr;
461 if (ikev2_prf_hash(prf->id, SK_p, keys->SK_prf_len,
496 struct ikev2_keys *keys, int initiator,
507 const u8 *SK_e = initiator ? keys->SK_ei : keys->SK_er;
508 const u8 *SK_a = initiator ? keys->SK_ai : keys->SK_ar;
543 if (ikev2_integ_hash(integ_id, SK_a, keys->SK_integ_len,
566 if (ikev2_encr_decrypt(encr_alg->id, SK_e, keys->SK_encr_len, iv, pos,
597 int ikev2_build_encrypted(int encr_id, int integ_id, struct ikev2_keys *keys,
607 const u8 *SK_e = initiator ? keys->SK_ei : keys->SK_er;
608 const u8 *SK_a = initiator ? keys->SK_ai : keys->SK_ar;
653 if (ikev2_encr_encrypt(encr_alg->id, SK_e, keys->SK_encr_len, iv,
667 return ikev2_integ_hash(integ_id, SK_a, keys->SK_integ_len,
675 int ikev2_keys_set(struct ikev2_keys *keys)
677 return keys->SK_d && keys->SK_ai && keys->SK_ar && keys->SK_ei &&
678 keys->SK_er && keys->SK_pi && keys->SK_pr;
682 void ikev2_free_keys(struct ikev2_keys *keys)
684 os_free(keys->SK_d);
685 os_free(keys->SK_ai);
686 os_free(keys->SK_ar);
687 os_free(keys->SK_ei);
688 os_free(keys->SK_er);
689 os_free(keys->SK_pi);
690 os_free(keys->SK_pr);
691 keys->SK_d = keys->SK_ai = keys->SK_ar = keys->SK_ei = keys->SK_er =
692 keys->SK_pi = keys->SK_pr = NULL;
700 struct ikev2_keys *keys)
709 ikev2_free_keys(keys);
710 keys->SK_d_len = prf->key_len;
711 keys->SK_integ_len = integ->key_len;
712 keys->SK_encr_len = encr->key_len;
713 keys->SK_prf_len = prf->key_len;
716 keys->SK_d_len = keys->SK_encr_len;
719 keybuf_len = keys->SK_d_len + 2 * keys->SK_integ_len +
720 2 * keys->SK_encr_len + 2 * keys->SK_prf_len;
733 keys->SK_d = os_malloc(keys->SK_d_len);
734 if (keys->SK_d) {
735 os_memcpy(keys->SK_d, pos, keys->SK_d_len);
737 keys->SK_d, keys->SK_d_len);
739 pos += keys->SK_d_len;
741 keys->SK_ai = os_malloc(keys->SK_integ_len);
742 if (keys->SK_ai) {
743 os_memcpy(keys->SK_ai, pos, keys->SK_integ_len);
745 keys->SK_ai, keys->SK_integ_len);
747 pos += keys->SK_integ_len;
749 keys->SK_ar = os_malloc(keys->SK_integ_len);
750 if (keys->SK_ar) {
751 os_memcpy(keys->SK_ar, pos, keys->SK_integ_len);
753 keys->SK_ar, keys->SK_integ_len);
755 pos += keys->SK_integ_len;
757 keys->SK_ei = os_malloc(keys->SK_encr_len);
758 if (keys->SK_ei) {
759 os_memcpy(keys->SK_ei, pos, keys->SK_encr_len);
761 keys->SK_ei, keys->SK_encr_len);
763 pos += keys->SK_encr_len;
765 keys->SK_er = os_malloc(keys->SK_encr_len);
766 if (keys->SK_er) {
767 os_memcpy(keys->SK_er, pos, keys->SK_encr_len);
769 keys->SK_er, keys->SK_encr_len);
771 pos += keys->SK_encr_len;
773 keys->SK_pi = os_malloc(keys->SK_prf_len);
774 if (keys->SK_pi) {
775 os_memcpy(keys->SK_pi, pos, keys->SK_prf_len);
777 keys->SK_pi, keys->SK_prf_len);
779 pos += keys->SK_prf_len;
781 keys->SK_pr = os_malloc(keys->SK_prf_len);
782 if (keys->SK_pr) {
783 os_memcpy(keys->SK_pr, pos, keys->SK_prf_len);
785 keys->SK_pr, keys->SK_prf_len);
790 if (!ikev2_keys_set(keys)) {
791 ikev2_free_keys(keys);