pySim-shell.py: add a command for RUN GSM ALGORITHM

Change-Id: Id7876d83d018aca79253784411d3a9d54a249a0a
This commit is contained in:
Harald Welte
2023-03-09 19:42:38 +01:00
committed by laforge
parent 9970f59f4f
commit 61ef1571f9

View File

@@ -1102,6 +1102,8 @@ class EF_MMSUCP(TransparentEF):
class DF_GSM(CardDF):
def __init__(self, fid='7f20', name='DF.GSM', desc='GSM Network related files'):
super().__init__(fid=fid, name=name, desc=desc)
self.shell_commands += [self.AddlShellCommands()]
files = [
EF_LP(),
EF_IMSI(),
@@ -1171,6 +1173,20 @@ class DF_GSM(CardDF):
]
self.add_files(files)
@with_default_category('Application-Specific Commands')
class AddlShellCommands(CommandSet):
def __init__(self):
super().__init__()
authenticate_parser = argparse.ArgumentParser()
authenticate_parser.add_argument('rand', help='Random challenge')
@cmd2.with_argparser(authenticate_parser)
def do_authenticate(self, opts):
"""Perform GSM Authentication."""
(data, sw) = self._cmd.card._scc.run_gsm(opts.rand)
self._cmd.poutput_json(data)
class CardProfileSIM(CardProfile):