Hi folx,

first I want to say that everybody who is supporting this project is doing a great 
job, espeacially Dave, who puts everything together.

If anybody writes a CT-API for a reader he should also implement
a CT-BCS (Basic Command Set).

With a CT-BCS a developer need not to care about the type of reader. He doesn't have 
to care if it is a asynchronos card (T=0, T=1) or a sychronous
card (Memorycard with 3-wire, 2-wire and so on)


For example to request a ICC the command is:

Request ICC, return full ATR, immediatetly
0x20 0x12 0x01 0x01 0x00

So every CT-API should return:
90 00 -> Synchronous ICC presented, reset successfull
90 01 -> Asynchronous ICC inserted, reset successfull
62 00 -> Warning: no card presented within specified time
62 01 -> Warning: ICC already presented and activated
64 00 -> Reset no successful
64 01 -> Process aborted by pressing cancel key

If you write the CT-API (with CT-BCS) you have to translate this command  to your 
reader's specific command.

Other command are:
RESET CT(ICC) 1)
EJECT ICC 1)
GET STATUS 1)
INPUT 2) 3)
OUTPUT 3)
PERFOM VERIFICATION 2)
MODIFY VERIFICATION DATA 2)
1) needed
2) only for CT's with keypad
3) only for CT' with display

If you implement a CT-BCS you have to analyze the ATR of the ICC so you can return the 
correct value.


The Spec for the CT-BCS can be found under:
-- or --
http://www.darmstadt.gmd.de/~eckstein/CT/mkt.html#SPEK

there is a broken link to CT-API part 3.
It is http://www.dtag.de/angebot/telesec/produkte/anwendung/ct-api/ctapi11e.zip

In a few days you will found all MCT and CT-API Specs under
http://www.quasi-niere.org/mkt/spec/spec_v09.html


bye
Gregor A. Panstruga
***************************************************************
Linux Smart Card Developers - M.U.S.C.L.E.
(Movement for the Use of Smart Cards in a Linux Environment)
http://www.linuxnet.com/smartcard/index.html
***************************************************************

Reply via email to