def _parse_aux_sec_header(self, data): security_control, frame_counter = struct.unpack("<BL", data.read(5)) security_level = security_control & 0x07 key_id_mode = (security_control & 0x18) >> 3 if key_id_mode == 0: key_id = data.read(9) elif key_id_mode == 1: key_id = data.read(1) elif key_id_mode == 2: key_id = data.read(5) else: key_source = None key_index = None return AuxiliarySecurityHeader(key_id_mode, security_level, frame_counter, key_id, big_endian=False)
def _parse_aux_sec_header(self, data): security_control, frame_counter = struct.unpack("<BL", data.read(5)) security_level = security_control & 0x07 key_id_mode = (security_control & 0x18) >> 3 if key_id_mode == 0: raise KeyIdMode0Exception elif key_id_mode == 1: key_id = data.read(1) elif key_id_mode == 2: key_id = data.read(5) elif key_id_mode == 3: key_id = data.read(9) else: pass return AuxiliarySecurityHeader( key_id_mode, security_level, frame_counter, key_id, big_endian=False, )