mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-03-16 18:38:32 +03:00
shell: Add 'status' command to issue STATUS APDU
This can be used to get the FCP of the currently selected file. Change-Id: I65c97adadd831ca2daa5a0dbb52a37999f8514fd
This commit is contained in:
@@ -443,6 +443,11 @@ class Iso7816Commands(CommandSet):
|
||||
"""Close a logical channel."""
|
||||
(data, sw) = self._cmd.card._scc.manage_channel(mode='close', lchan_nr=opts.chan_nr)
|
||||
|
||||
def do_status(self, opts):
|
||||
"""Perform the STATUS command."""
|
||||
fcp_dec = self._cmd.rs.status()
|
||||
self._cmd.poutput_json(fcp_dec)
|
||||
|
||||
|
||||
option_parser = argparse.ArgumentParser(prog='pySim-shell', description='interactive SIM card shell',
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
||||
|
||||
@@ -359,6 +359,10 @@ class SimCardCommands(object):
|
||||
ret = {'successful_3g_authentication': data}
|
||||
return (ret, sw)
|
||||
|
||||
def status(self):
|
||||
"""Execute a STATUS command as per TS 102 221 Section 11.1.2."""
|
||||
return self._tp.send_apdu_checksw('80F20000ff')
|
||||
|
||||
def deactivate_file(self):
|
||||
"""Execute DECATIVATE FILE command as per TS 102 221 Section 11.1.14."""
|
||||
return self._tp.send_apdu_constr_checksw(self.cla_byte, '04', '00', '00', None, None, None)
|
||||
|
||||
@@ -1145,6 +1145,11 @@ class RuntimeState(object):
|
||||
|
||||
return select_resp
|
||||
|
||||
def status(self):
|
||||
"""Request STATUS (current selected file FCP) from card."""
|
||||
(data, sw) = self.card._scc.status()
|
||||
return self.selected_file.decode_select_response(data)
|
||||
|
||||
def read_binary(self, length:int=None, offset:int=0):
|
||||
"""Read [part of] a transparent EF binary data.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user