def test_bad_oci(self, logmsg, op_class, channel, seg1_idx): logger.debug("Bad OCI element: " + logmsg) if op_class is None: ocikde = b'' else: ocikde = make_ocikde(op_class, channel, seg1_idx) reply_eapol("2/4", self.hapd, self.addr, self.msg, 0x010a, self.snonce, self.rsne + ocikde, self.kck) self.msg = recv_eapol(self.hapd) if self.anonce != self.msg['rsn_key_nonce'] or self.msg["rsn_key_info"] != 138: raise Exception("Didn't receive retransmitted 1/4")
def confirm_valid_oci(self, op_class, channel, seg1_idx): logger.debug("Valid OCI element to complete handshake") ocikde = make_ocikde(op_class, channel, seg1_idx) reply_eapol("2/4", self.hapd, self.addr, self.msg, 0x010a, self.snonce, self.rsne + ocikde, self.kck) self.msg = recv_eapol(self.hapd) if self.anonce != self.msg['rsn_key_nonce'] or self.msg["rsn_key_info"] != 5066: raise Exception("Didn't receive 3/4 in response to valid 2/4") reply_eapol("4/4", self.hapd, self.addr, self.msg, 0x030a, None, None, self.kck) self.hapd.wait_sta(timeout=15)
def confirm_valid_oci(self, op_class, channel, seg1_idx): logger.debug("Valid OCI element to complete handshake") ocikde = make_ocikde(op_class, channel, seg1_idx) reply_eapol("2/4", self.hapd, self.addr, self.msg, 0x010a, self.snonce, self.rsne + ocikde, self.kck) self.msg = recv_eapol(self.hapd) if self.anonce != self.msg['rsn_key_nonce'] or self.msg["rsn_key_info"] != 5066: raise Exception("Didn't receive 3/4 in response to valid 2/4") reply_eapol("4/4", self.hapd, self.addr, self.msg, 0x030a, None, None, self.kck) hapd_connected(self.hapd)