Commit Graph

49 Commits

Author SHA1 Message Date
Henryk Plötz 331bfc4d47 Move all PC/SC specific stuff to a separate class structure for readers (thus preparing the way for non-PC/SC-readers)
This commit should be known as "Holy excessive layering, batman!"
2010-02-26 02:27:26 +01:00
Henryk Plötz 985941e16e Copy the CLA value for the GET RESPONSE command from the original APDU 2010-02-25 10:48:58 +01:00
Henryk Plötz 1b6509a0e7 Add AIDs for eID ("Neuer Personalausweis") and VRS ticket, fix RID for FSFE 2010-02-24 02:43:21 +01:00
hploetz 424a3c14c5 Make it possible for a card/application class to specify the P1 used for SELECT in the file case
Add an Application class (and AID) for NFC Forum Tag Type 4


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@261 f711b948-2313-0410-aaa9-d29f33439f0b
2008-06-10 03:34:21 +00:00
hploetz fa0e0c888c fix get_atr
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@248 f711b948-2313-0410-aaa9-d29f33439f0b
2007-06-16 07:25:42 +00:00
hploetz c92a60fb10 Switch smartcard interface to pyscard from http://pyscard.sourceforge.net/
pycsc no longer supported
API change: utils doesn't export "pycsc" anymore
API change: utils.CommandLineArgumentHelper.connect now returns smartcard.CardService.CardService instance
API change: cards.generic_card.Card.__init__ and ...can_handle (and therefore cards.new_card_object) now expect CardService or CardConnection instance


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@247 f711b948-2313-0410-aaa9-d29f33439f0b
2007-06-16 06:56:57 +00:00
hploetz 9a1a0ccdce sre is deprecated in python 2.5
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@238 f711b948-2313-0410-aaa9-d29f33439f0b
2007-06-09 19:31:05 +00:00
hploetz d7aa71ca8d Centralize pycsc windows import hack
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@222 f711b948-2313-0410-aaa9-d29f33439f0b
2007-06-08 00:14:22 +00:00
hploetz 62a06241c0 API change: substitute new PURPOSE_GET_RESPONSE for PURPOSE_RETRY to match the actual semantics, add a different value for PURPOSE_RETRY to match the description
Refactor READ BINARY functionality out of iso_7816_4 into a building block
Implement READ BINARY (and "cat" command) for RFID storage cards using the new building block


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@207 f711b948-2313-0410-aaa9-d29f33439f0b
2007-06-02 06:14:18 +00:00
hploetz 10a9dab1ef Allow SELECT APPLICATION and READ BINARY with given Le
Add resolve_symbolic_name convenience function
Add get_atr function
Implement STOP_ATRS functionality to stop ISO_7816_4_Card from accepting all cards, blacklist contactless storage cards


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@192 f711b948-2313-0410-aaa9-d29f33439f0b
2007-05-30 16:47:43 +00:00
hploetz 47662ab48e Get working under Windows with http://cheeseshop.python.org/pypi/PyCSC/0.3 (with Python 2.5 for Windows)
Note: you additionally need pycrypto, the source of which you'll get from http://cheeseshop.python.org/pypi/pycrypto/2.0.1
  Compilation of pycrypto can work with cygwin in two steps: python setup.py build -c mingw32 and python setup.py install --skip-build


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@190 f711b948-2313-0410-aaa9-d29f33439f0b
2007-05-08 09:23:25 +00:00
hploetz a94d4d8a32 easier to type alias
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@189 f711b948-2313-0410-aaa9-d29f33439f0b
2007-05-08 09:19:11 +00:00
hploetz 98f1dbe110 API change: DRIVER_NAME now is a (merged) list
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@187 f711b948-2313-0410-aaa9-d29f33439f0b
2007-03-18 23:38:24 +00:00
hploetz 4ac8a00868 Introduce DEFAULT_CONTEXT
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@180 f711b948-2313-0410-aaa9-d29f33439f0b
2007-02-13 13:23:29 +00:00
hploetz d685765fa0 Big change: Replace SW_OK and SW1_RETRY with a more generic check_sw() that gets its data from STATUS_MAP
Small improvements in brutefid, including the ability to brute subdirectories
More fixes for passport secure messaging, using check_sw, can now decrypt error responses ("End of file reached before Le bytes read", etc.)
Add support for tuples/lists in dictionaries in MERGE_DICTS_RECURSIVE in cards/__init__.py


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@177 f711b948-2313-0410-aaa9-d29f33439f0b
2007-02-13 00:32:04 +00:00
hploetz 82cddea7e7 Add support for aliases in application selection
Add skeleton for support of application specific commands that can be dynamically loaded
Pending addition of commands to work with passports


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@173 f711b948-2313-0410-aaa9-d29f33439f0b
2007-02-10 21:52:06 +00:00
hploetz a7a36c1dd2 New AIDs, name can be None now
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@167 f711b948-2313-0410-aaa9-d29f33439f0b
2007-01-17 09:14:35 +00:00
hploetz 42cc88fc9f Move select_application to 7816-4
Add vendor registry
Some AIDs
Simplify _decode_df_name


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@166 f711b948-2313-0410-aaa9-d29f33439f0b
2007-01-16 17:14:37 +00:00
hploetz 8a9b683d99 AIDs
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@165 f711b948-2313-0410-aaa9-d29f33439f0b
2007-01-15 13:34:24 +00:00
hploetz 0d21b554e5 Decode recognized AIDs as DF name (find a conceptual flaw en passant and work around it)
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@162 f711b948-2313-0410-aaa9-d29f33439f0b
2007-01-14 14:25:57 +00:00
hploetz 07de9a478d API change: more information in the APPLICATIONS dictionary
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@161 f711b948-2313-0410-aaa9-d29f33439f0b
2007-01-14 13:46:30 +00:00
hploetz 3f8d22e4d5 after_send hook
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@135 f711b948-2313-0410-aaa9-d29f33439f0b
2006-11-21 00:51:32 +00:00
hploetz 3994578708 Minor beautification
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@127 f711b948-2313-0410-aaa9-d29f33439f0b
2006-11-19 04:44:45 +00:00
hploetz 74f51895ad parse_tlv now takes offset arguments
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@104 f711b948-2313-0410-aaa9-d29f33439f0b
2006-07-21 18:22:40 +00:00
hploetz 54c53d262c Make it possible to override tags
Replace the "= object()" with a proper class and explanation


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@93 f711b948-2313-0410-aaa9-d29f33439f0b
2006-06-16 23:14:14 +00:00
hploetz dc18f0dda2 abstract retry handling for upcoming GSM code
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@82 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-26 04:51:06 +00:00
hploetz 8e845292bb card close command
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@72 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-22 03:26:13 +00:00
hploetz ac08ac1ff8 fix decoding of multi-byte tags
move parse_tlv to generic card


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@69 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-22 01:04:32 +00:00
hploetz 455428f0cd ATR reorganisation and extension
initial TCOS code


git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@57 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-19 00:19:08 +00:00
hploetz 53742b2705 TLV utilities
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@55 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-18 20:21:51 +00:00
hploetz f2bb9004cb more bugfixes. open_secure_channel does now work
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@54 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-18 16:26:21 +00:00
hploetz c68e8bba2e Transitioning to new APDU code
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@53 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-18 15:45:07 +00:00
hploetz 2ec6001376 experimental next generation code, still broken
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@49 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-18 05:00:19 +00:00
hploetz 036218d632 some more T=0 vs. T=1 fixes
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@48 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-18 02:16:15 +00:00
hploetz 7d3953d48d nicer status word printing
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@47 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-17 18:50:18 +00:00
hploetz a2d6c6a624 better handling of non-T=0 APDUs. may still be buggy
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@46 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-17 18:40:12 +00:00
henryk df4e90ea9e Implemented option to select reader
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@44 f711b948-2313-0410-aaa9-d29f33439f0b
2006-05-04 23:58:28 +00:00
henryk 31225977e2 Cardmultiplexer object. Should allow to dynamically bind and unbind classes from a card object.
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@43 f711b948-2313-0410-aaa9-d29f33439f0b
2005-10-12 02:09:15 +00:00
henryk 5e5b85b28e Now using the shell class in cyberflex-shell
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@40 f711b948-2313-0410-aaa9-d29f33439f0b
2005-10-09 02:06:32 +00:00
henryk 4b9dc9ab53 Some LC_AUTO that were forgotten
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@34 f711b948-2313-0410-aaa9-d29f33439f0b
2005-10-07 01:50:34 +00:00
henryk d8dab69c26 More flexible SW parsing
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@30 f711b948-2313-0410-aaa9-d29f33439f0b
2005-10-03 07:02:49 +00:00
henryk 7d4a29ce4e Decode SW 0x6cXX
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@29 f711b948-2313-0410-aaa9-d29f33439f0b
2005-10-03 05:20:14 +00:00
henryk bed37517c6 reset command
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@27 f711b948-2313-0410-aaa9-d29f33439f0b
2005-09-30 04:39:01 +00:00
henryk 2d8068b0e3 Use the APDU object throughout (working, but not complete)
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@26 f711b948-2313-0410-aaa9-d29f33439f0b
2005-09-30 04:13:34 +00:00
henryk bd6140e6ff verify pin command
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@21 f711b948-2313-0410-aaa9-d29f33439f0b
2005-09-29 21:37:28 +00:00
henryk 93f380859c Support for select application
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@19 f711b948-2313-0410-aaa9-d29f33439f0b
2005-09-29 19:05:55 +00:00
henryk 3f36321e51 Status word decoding
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@18 f711b948-2313-0410-aaa9-d29f33439f0b
2005-09-29 17:16:27 +00:00
henryk 6337b3ef58 Some more commands
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@16 f711b948-2313-0410-aaa9-d29f33439f0b
2005-09-29 15:31:57 +00:00
henryk 85c11acfcd Card specific classes in a separate package
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@11 f711b948-2313-0410-aaa9-d29f33439f0b
2005-09-29 03:39:14 +00:00