Home | History | Annotate | Download | only in wps

Lines Matching refs:wps

64 int wps_derive_keys(struct wps_data *wps)
72 if (wps->dh_privkey == NULL) {
73 wpa_printf(MSG_DEBUG, "WPS: Own DH private key not available");
77 pubkey = wps->registrar ? wps->dh_pubkey_e : wps->dh_pubkey_r;
79 wpa_printf(MSG_DEBUG, "WPS: Peer DH public key not available");
83 dh_shared = dh_derive_shared(pubkey, wps->dh_privkey,
87 wpa_printf(MSG_DEBUG, "WPS: Failed to derive DH shared key");
92 wpabuf_free(wps->dh_privkey);
93 wps->dh_privkey = NULL;
95 wpa_hexdump_buf_key(MSG_DEBUG, "WPS: DH shared key", dh_shared);
101 wpa_hexdump_key(MSG_DEBUG, "WPS: DHKey", dhkey, sizeof(dhkey));
105 addr[0] = wps->nonce_e;
107 addr[1] = wps->mac_addr_e;
109 addr[2] = wps->nonce_r;
112 wpa_hexdump_key(MSG_DEBUG, "WPS: KDK", kdk, sizeof(kdk));
116 os_memcpy(wps->authkey, keys, WPS_AUTHKEY_LEN);
117 os_memcpy(wps->keywrapkey, keys + WPS_AUTHKEY_LEN, WPS_KEYWRAPKEY_LEN);
118 os_memcpy(wps->emsk, keys + WPS_AUTHKEY_LEN + WPS_KEYWRAPKEY_LEN,
121 wpa_hexdump_key(MSG_DEBUG, "WPS: AuthKey",
122 wps->authkey, WPS_AUTHKEY_LEN);
123 wpa_hexdump_key(MSG_DEBUG, "WPS: KeyWrapKey",
124 wps->keywrapkey, WPS_KEYWRAPKEY_LEN);
125 wpa_hexdump_key(MSG_DEBUG, "WPS: EMSK", wps->emsk, WPS_EMSK_LEN);
131 void wps_derive_psk(struct wps_data *wps, const u8 *dev_passwd,
136 hmac_sha256(wps->authkey, WPS_AUTHKEY_LEN, dev_passwd,
138 os_memcpy(wps->psk1, hash, WPS_PSK_LEN);
139 hmac_sha256(wps->authkey, WPS_AUTHKEY_LEN,
142 os_memcpy(wps->psk2, hash, WPS_PSK_LEN);
144 wpa_hexdump_ascii_key(MSG_DEBUG, "WPS: Device Password",
146 wpa_hexdump_key(MSG_DEBUG, "WPS: PSK1", wps->psk1, WPS_PSK_LEN);
147 wpa_hexdump_key(MSG_DEBUG, "WPS: PSK2", wps->psk2, WPS_PSK_LEN);
151 struct wpabuf * wps_decrypt_encr_settings(struct wps_data *wps, const u8 *encr,
163 wpa_printf(MSG_DEBUG, "WPS: No Encrypted Settings received");
171 wpa_hexdump(MSG_MSGDUMP, "WPS: Encrypted Settings", encr, encr_len);
173 if (aes_128_cbc_decrypt(wps->keywrapkey, encr, wpabuf_mhead(decrypted),
179 wpa_hexdump_buf_key(MSG_MSGDUMP, "WPS: Decrypted Encrypted Settings",
185 wpa_printf(MSG_DEBUG, "WPS: Invalid PKCS#5 v2.0 pad value");
191 wpa_printf(MSG_DEBUG, "WPS: Invalid PKCS#5 v2.0 pad "
254 void wps_fail_event(struct wps_context *wps, enum wps_msg_type msg)
258 if (wps->event_cb == NULL)
263 wps->event_cb(wps->cb_ctx, WPS_EV_FAIL, &data);
267 void wps_success_event(struct wps_context *wps)
269 if (wps->event_cb == NULL)
272 wps->event_cb(wps->cb_ctx, WPS_EV_SUCCESS, NULL);
276 void wps_pwd_auth_fail_event(struct wps_context *wps, int enrollee, int part)
280 if (wps->event_cb == NULL)
286 wps->event_cb(wps->cb_ctx, WPS_EV_PWD_AUTH_FAIL, &data);
290 void wps_pbc_overlap_event(struct wps_context *wps)
292 if (wps->event_cb == NULL)
295 wps->event_cb(wps->cb_ctx, WPS_EV_PBC_OVERLAP, NULL);
299 void wps_pbc_timeout_event(struct wps_context *wps)
301 if (wps->event_cb == NULL)
304 wps->event_cb(wps->cb_ctx, WPS_EV_PBC_TIMEOUT, NULL);