Hi List,

Here are some bare-minimum code contributions for iso7816-3 slave side protocol.

https://github.com/zwizwa/at91work/tree/apdu_phone

[email protected]:zwizwa/at91work.git
branch apdu_phone

Relevant files are in:

iso7816-slave-cdc-project/
src/


I spent a bit more time on this than expected on low-level platform stuff, leaving me with no time to smooth the rough edges at the PC interface side. It's a start, though.



Features:
- non-blocking iso7816-3 state machine for slave-side protocol (reusable in COS?)
- low-level AT91 USART is abstracted as iso7816_port.h
- line-oriented ASCII HEX protocol over CDC USB serial, easy to use in (python) scripts - transport is separate from state machine, easy to replace with other discussed mechanisms
- works for me on Nexus One and BLU SAMBA JR plus

Non-features:
- hardcoded ATR
- hardcoded power cycle skipping to select correct operating voltage
- not using SIMtrace SIM slot (see mim.py for using a PC card reader to complete MITM)
- did not test with DFU but should work (I used Atmel SAM-ICE)
- standalone firmware, not integrated with CCID / sniffer
- git history is messy.  i'd just flatten it for further work








Reply via email to