Commit Graph

26 Commits

Author SHA1 Message Date
Neels Hofmeyr b2f56ad3fc README: hint at pcscd dependency 2018-02-28 15:46:09 +01:00
Neels Hofmeyr 8a50c51e2d sysmo-usim-tool.sjs1.py: add '-T list' to show available algos 2017-12-14 05:25:28 +01:00
Neels Hofmeyr bb7e45f436 sysmo_usimsjs1.py: define algos as tuple, print numbers with the names
Collapse two functions of if-cascades into a data structure matching algo
numbers with string names. Use dicts produced from the initial tuple defining
the relation, to re-implement the functions.

When printing out algos, also print out the numbers set on the USIM.

This prepares for printing a list of available algos by commandline switch.
2017-12-14 05:22:51 +01:00
Neels Hofmeyr 9cf40ef497 readme: document dependency on python-pyscard 2017-12-14 01:33:12 +01:00
Harald Welte d7b90f8db7 implement resetting of SQN parameters 2017-08-17 14:38:10 +02:00
Harald Welte 5c15b238f5 Divide SQNms Offset by 6
The SQNms offset is a *byte* index into the SQNA file, let's divide
this by 6 before showing it to the user, so he can immediately
make the connection into the SQN array dumped below
2017-08-17 14:38:07 +02:00
Harald Welte 9b3c122329 Fix decoding of SQN values in SYSMO_USIMSJS1_FILE_EF_SQNC 2017-08-17 13:15:39 +02:00
Harald Welte d7da172cbf Add README.md file 2017-08-16 23:16:21 +02:00
Harald Welte 5140557f3b Add testsuite
The idea of the testsuite is to test all functions of the utility
against one known SIM card that is inserted at the time the test
is executed.

We could insert this card into a reader attached to a
permanently-running machine and then use that as a jenkins build
test slave.
2017-08-16 23:16:17 +02:00
Harald Welte 7660d07aa9 Proper string representation of OP / OPc mode
The output should be intuitive without the user having to look
at the manual side by side.
2017-08-16 23:16:17 +02:00
Harald Welte 3d7b74b3af Print/Parse string representation of Algorithm Identifiers
We don't want to force the user to always open the manual every time
he uses the tool.
2017-08-16 22:38:38 +02:00
Harald Welte 72cf09e620 Add support for reading misc. MILENAGE parameters
We now can read
* IDX, MAX_DELTA and AGE_LIMIT parameters
* whether or not SQN, age and max delta are enforced
* SEQ array
* Authentication Counter
2017-08-16 21:14:44 +02:00
Harald Welte b7ec495145 EF_OPC is actually specified in ADF_USIM, so let's select it there 2017-08-16 21:14:44 +02:00
Harald Welte dc45c05b15 Migration to python 'card' from Benoit Michau
There are quite complete python utilities already out there as part
of Benoit Micuhau's 'card' python library. They support plenty of
SIM, UICC and USIM related bits.  Let's use them rather than re-
inventing the wheel here.
2017-08-16 21:14:44 +02:00
Harald Welte 4086758393 Import slightly modified version of mitshell/card
the modifications can be found in https://github.com/mitshell/card/pull/2
and I wouuld hope that once Benoit has merged this we can remove the
local copy here and simply rely on pypi pulling it from the repo.
2017-08-16 21:14:44 +02:00
Harald Welte 5666cd6818 Unconditionally print ICCID and IMSI
This can help a lot in identifying the cards and in giving context in
case a user copy+pastes the output.  Let's always read those values.
2017-08-16 21:14:44 +02:00
Harald Welte 6d5127c89a add list_to_int() utility function to convert byte-lists to integers 2017-08-16 21:14:44 +02:00
Harald Welte e786eb1310 add .gitignore file 2017-08-16 21:13:37 +02:00
Harald Welte 78b18df47c remove unused 'adm1' argument from many functions
The main program performs ADM1 authentication before using any
of the sysmo_usim_{read,write}* functions, so passing adm1 as
argument to them is just an unused argument that we can remove
2017-08-16 10:04:39 +02:00
Philipp Maier 55bb02bc62 Add ICCID reading/programming feature
sysmo-usim-tool still can't read or program the ICCID. This patch
adds enables reading and writing EF.ICCID
2017-03-21 00:30:34 +01:00
Philipp Maier 14aaab262e auth: prevent unintential card lock down
If the user submints a wrong ADM1 key with the commandline, the
authentication will fail. However, by the output of the program
it mey not be clear to the user that the reason for the failure
was a wrong ADM1 key. The user might try the same command with
the same parameters a few time and lock down the card.

This commit fixes that by failing gracefully with a very clear
error message. Furthermore, if a decreased authentication counter
is detected, no further authentication attempts will be made
until the user supplies the option -f (--force).
2017-03-17 16:43:35 +01:00
Neels Hofmeyr a73acbc8e4 cosmetic fix: sysmo_usim_show_milenage_params() was defined twice 2017-03-05 01:01:34 +01:00
Neels Hofmeyr 4d144983c3 cosmetic: typo and slash to clarify OP or OPC 2017-03-05 01:01:03 +01:00
Neels Hofmeyr 8b8ccfcba4 add cmds to read/write KI 2017-03-05 01:00:13 +01:00
Philipp Maier 2c11efcdf6 cosmetic: Fixing typo in log output 2017-02-23 15:33:34 +01:00
Philipp Maier 4f2e60436b sysmo-usim-tool: Add a tool for sysmosom specific tasks
This commit adds a tool that is intended to be used with sysmo-usim
only if some of the highly propritary parameters, which the regular
pysim can not handle, need to be configured.
2017-02-23 14:47:38 +01:00