Lines Matching refs:erp

72 static int eap_erp_add_key(struct eap_sm *sm, struct eap_server_erp_key *erp)
75 return sm->eapol_cb->erp_add_key(sm->eapol_ctx, erp);
421 struct eap_server_erp_key *erp = NULL;
441 erp = os_zalloc(sizeof(*erp) + nai_buf_len);
442 if (erp == NULL)
444 erp->recv_seq = (u32) -1;
464 pos = wpa_snprintf_hex(erp->keyname_nai, nai_buf_len,
466 erp->keyname_nai[pos] = '@';
467 os_memcpy(&erp->keyname_nai[pos + 1], domain, domain_len);
472 len, sizeof(len), erp->rRK, emsk_len) < 0) {
476 erp->rRK_len = emsk_len;
477 wpa_hexdump_key(MSG_DEBUG, "EAP: ERP rRK", erp->rRK, erp->rRK_len);
480 WPA_PUT_BE16(&ctx[1], erp->rRK_len);
481 if (hmac_sha256_kdf(erp->rRK, erp->rRK_len,
483 ctx, sizeof(ctx), erp->rIK, erp->rRK_len) < 0) {
487 erp->rIK_len = erp->rRK_len;
488 wpa_hexdump_key(MSG_DEBUG, "EAP: ERP rIK", erp->rIK, erp->rIK_len);
490 if (eap_erp_add_key(sm, erp) == 0) {
492 erp->keyname_nai);
493 erp = NULL;
498 bin_clear_free(erp, sizeof(*erp));
532 if (sm->erp && sm->m->get_emsk && sm->eap_if.eapSessionId)
697 struct eap_server_erp_key *erp, u8 id,
706 if (erp) {
707 switch (erp->cryptosuite) {
734 if (erp) {
735 wpabuf_put_u8(msg, erp->cryptosuite);
736 if (hmac_sha256(erp->rIK, erp->rIK_len,
754 if ((flags & 0x80) || !erp) {
763 sm->eap_if.eapKeyData = os_malloc(erp->rRK_len);
768 WPA_PUT_BE16(&seed[2], erp->rRK_len);
769 if (hmac_sha256_kdf(erp->rRK, erp->rRK_len,
772 sm->eap_if.eapKeyData, erp->rRK_len) < 0) {
774 bin_clear_free(sm->eap_if.eapKeyData, erp->rRK_len);
778 sm->eap_if.eapKeyDataLen = erp->rRK_len;
797 struct eap_server_erp_key *erp;
873 erp = eap_erp_get_key(sm, nai);
874 if (!erp) {
880 if (erp->recv_seq != (u32) -1 && erp->recv_seq >= seq) {
883 seq, erp->recv_seq);
891 1 + (erp->cryptosuite == EAP_ERP_CS_HMAC_SHA256_256 ? 32 : 16)) {
897 switch (erp->cryptosuite) {
899 if (end[-33] != erp->cryptosuite) {
907 if (end[-17] != erp->cryptosuite) {
920 if (hmac_sha256(erp->rIK, erp->rIK_len, hdr,
933 if (hmac_sha256(erp->rIK, erp->rIK_len, hdr,
940 erp->cryptosuite = EAP_ERP_CS_HMAC_SHA256_256;
945 if (hmac_sha256(erp->rIK, erp->rIK_len, hdr,
952 erp->cryptosuite = EAP_ERP_CS_HMAC_SHA256_128;
973 erp->keyname_nai, seq);
974 erp->recv_seq = seq;
978 erp_send_finish_reauth(sm, erp, ehdr->identifier, resp_flags, seq, nai);
1336 else if (sm->eap_server && sm->erp && sm->rxInitiate)
1889 sm->erp = conf->erp;