/[pcsclite]/tags/ccid/ccid-1.4.5/README
ViewVC logotype

Diff of /tags/ccid/ccid-1.4.5/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 697 by rousseau, Fri Feb 13 07:57:25 2004 UTC revision 2931 by rousseau, Thu May 8 12:31:07 2008 UTC
# Line 10  Authors: Line 10  Authors:
10  ========  ========
11    
12  - Ludovic Rousseau <ludovic.rousseau@free.fr>  - Ludovic Rousseau <ludovic.rousseau@free.fr>
13  - Carlos Prados for the TPDU T=1 code (taken from his towitoto driver)  - Carlos Prados for the PPS and ATR parsing code (taken from his
14      towitoto driver) in towitoko/ directory.
15    - Olaf Kirch for the T=1 TPDU code (from the OpenCT package) in openct/
16      directory. I (Ludovic Rousseau) greatly improved this code.
17    
18    
19  Supported CCID readers:  Supported CCID readers:
20  =======================  =======================
21    
22  (in alphabetical order)  (in alphabetical order)
23  - Gemplus GemPC 433 SL [2]  - ActivCard USB reader 3.0
24  - Gemplus GemPC Key [3]  - ActivCard Activkey Sim [66]
25  - Gemplus GemPC Twin [4]  - Advanced Card Systems ACR 38U-CCID [16]
26  - LTC31 from C3PO [8]    old versions of this reader have a bug: the reader do timeout when a
27      special USB frame is sent from the reader. If the frame size if a
28      multiple of wMaxPacketSize the communication is stopped.
29    - Alcor Micro AU9520 [46]
30      Firmware 1.01 is bogus. The time request sent by the card is not
31      forwarded by the reader to the host.
32    - Athena ASE IIIe USB V2 [29]
33    - Athena ASE IIIe KB USB [42]
34    - Blutronics Bludrive II CCID
35    - C3PO LTC31 (new model, USB product id 0x0006) [8]
36    - Cherry XX33 keyboard [?]
37    - Cherry XX44 keyboard (SmartBoard G83-6744) [18]
38    - Cherry SmartTerminal ST2000U [35]
39    - Cherry ST-1044U [27]
40    - Covadis Alya [63]
41    - Dell keyboard SK-3106 [?]
42    - Dell smart card reader keyboard [?]
43    - Eutron CryptoIdentity [26]
44    - Eutron Digipass 860 [59]
45    - Eutron SIM Pocket Combo [25]
46    - Eutron Smart Pocket [58]
47    - Gemalto GemPC 433 SL [2] (old name: GemPC 433 SL)
48    - Gemalto GemPC Card [41]
49    - Gemalto GemPC PinPad [67]
50    - Gemalto GemPC Twin [4]
51    - Gemalto GemCore POS Pro
52    - Gemalto GemCore SIM Pro
53    - Gemalto USB Shell Token V2 [3] (old name GemPC Key)
54    - Kobil KAAN Base [19]
55    - Kobil KAAN Advanced [20]
56    - Kobil KAAN SIM III [21]
57  - OmniKey CardMan 3121 [5]  - OmniKey CardMan 3121 [5]
58    - RSA SecureID SID800 [50]
59  - SCM Micro SCR 331 [6]  - SCM Micro SCR 331 [6]
60      You shall upgrade the firmware [17] using version 5.18 or later.
61    - SCM Micro SCR 331-DI [11]
62      You shall upgrade the firmware [17] using version 6.22 or later.
63  - SCM Micro SCR 335 [7]  - SCM Micro SCR 335 [7]
64      The firmware of this reader can't be upgraded so be sure to buy a
65      recent model with firmware 5.14 or later
66    - SCM Micro SCR 355
67    - SCM Micro SCR 3310 [30]
68    - SCM Micro SCR 3311 [31]
69    - SCM Micro SPR 532 [9]
70      You shall contact Torsten Maykranz <tmaykranz@scmmicro.de> to get a
71      firmware upgrade.
72    - SmartEpad (v 2.0) [32]
73      The firmware gives a very strange description of the reader (like a
74      dwDefaultClock: 1024.000 MHz). So do not expect a perfect behavior.
75    - Verisign Secure Storage Token [24]
76    - Verisign Secure Token [?]
77    - Xiring Teo [52]
78    
79    
80  Should work but untested by me:  Should work but untested by me:
# Line 33  I would like to get these readers to per Line 84  I would like to get these readers to per
84  move them in the supported list above. If you are one of the  move them in the supported list above. If you are one of the
85  manufacturers, please, contact me.  manufacturers, please, contact me.
86    
87  - SCM Micro SCR 331-DI [11]  - Advanced Card Systems ACR122 [62]
88  - SCM Micro SPR 532 [9]  - Axalto Reflex USB v3 [38]
89  - ActivCard USB reader 2.0 [10]  - C3PO LTC32 [13]
90  - Silitek SK-3105 keyboard [12]  - C3PO TLTC2USB
91    - C3PO KBR36
92    - Charismathics token
93    - Cherry SmartBoard, G83-6610 [61]
94    - Covadis Véga [64]
95    - Gemplus GemPC Express
96    - Gemplus Gem e-Seal Pro
97    - Fujitsu Siemens Computers SmartCard USB 2A [53]
98    - Fujitsu Siemens Computers SmartCard Keyboard USB 2A [54]
99    - Giesecke & Devrient StarSign Card Token 350 (ICCD) [57]
100    - Giesecke & Devrient StarSign Card Token 550 (ICCD)
101    - HP USB Smart Card Keyboard [44]
102    - HP USB Smartcard Reader
103    - id3 Semiconductors CL1356D [45] (tested by me but I don't have the
104      reader anymore)
105    - id3 Semiconductors CL1356T [48] (it should be the same firmware as the
106      CL1356D)
107    - Kobil EMV CAP - SecOVID Reader III
108    - Lenovo Integrated Smart Card Reader
109    - Lexar/Gemalto Smart Enterprise Guardian [60]
110    - OmniKey CardMan 1021
111    - OmniKey CardMan 3021 [49]
112    - OmniKey CardMan 3621 [43]
113    - OmniKey CardMan 3821 [37]
114    - OmniKey CardMan 4321 [55]
115    - OmniKey CardMan 5121 [33]
116    - OmniKey CardMan 5125 [51]
117    - OmniKey CardMan 5321 [56]
118    - OmniKey CardMan 6121 [36]
119    - O2Micro Oz776 (0x7762 and 0x7772 versions)
120    - Philips JCOP41V221
121    - SafeNet IKey4000
122    - SCM Micro SCR 331-DI NTTCom [23]
123    - SCM Micro SCR 3310-NTTCOM [28]
124    - SCM Micro SCR 3320 [31b]
125    - SCM Micro SCR 333 [15]
126    - SCM Micro SDI 010 [39]
127    - SCM SCR 3340 ExpressCard54 [34]
128    - SchlumbergerSema Cyberflex Access e-gate ICCD
129    - Silitek SK-3105 keyboard [12] or C3PO TLTC2USB [14]
130    - Sitecom USB simcard reader MD-010
131    - Validy USB Token [65]
132    - Vasco DP905
133    - Winbond Electronics (for OEM only) [40]
134    
135    
136  Unsupported CCID readers:  Unsupported or partly supported CCID readers:
137  =========================  =============================================
138    
139  None known.  - ActivCard USB reader 2.0 [10]
140        The reader do timeout when a special USB frame is sent from the
141        reader. If the frame size if a multiple of wMaxPacketSize the
142        communication is stopped.
143    - C3PO LTC31 (old model, USB product id 0x0003) [8]
144        The reader works fine with Linux kernel 2.4 but does not with Linux
145        kernel 2.6. The ioctl() syscall returns EINVAL (Invalid argument)
146    - iDream (THRC2002-2) [47]
147        PPS fails with a Cryptoflex card
148        powerup fails with a Setcos card
149        does work with the belgium eID (the reader is sold for this
150        application)
151    - Kobil mIDentity [22]
152        Time requests are not managed correctly and make the firmware fails.
153        This is not a problem unless you use a time-consuming APDU like RSA
154        key generation.
155        A new firmware will correct the bug.
156    - Reiner-SCT cyberJack pinpad(a)
157        Time requests are not managed and the driver may time out without
158        any response from the reader.  This is not a problem unless you use
159        a time-consuming APDU like RSA key generation.
160    
161    
162  Supported operating systems:  Supported operating systems:
# Line 53  Supported operating systems: Line 167  Supported operating systems:
167    to libusb)    to libusb)
168    
169    
170    Debug informations:
171    ===================
172    
173    The driver uses the debug function provided by pcscd. So if pcscd sends
174    its debug to stderr (pcscd --foreground) then the CCID will also send
175    its debug to stderr. If pcscd sends its debug to syslog (by default)
176    then the CCID will also send its debug to syslog.
177    
178    You can change the debug level using the Info.plist configuration file.
179    The Info.plist is installed, by default, in
180    /usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
181    
182    The debug level is set in the ifdLogLevel field. It is a binary OR
183    combinaison of 4 different levels.
184    - 1: critical: important error messages
185    - 2: info:     informative messages like what reader was detected
186    - 4: comm:     a dump of all the bytes exchanged between the host and the
187                   reader
188    - 8: periodic: periodic info when pcscd test if a card is present (every
189                   1/10 of a second)
190    
191    By default the debug level is set to 3 (1 + 2) and correspond to the
192    critical and info levels.
193    
194    You have to restart the driver so it read the configuration file again
195    and use the new debug level value.  To restart the driver you just need
196    to unplug all your CCID readers so the the driver is unloaded and then
197    replug your readers. You can also restart pcscd.
198    
199    
200    Voltage selection
201    =================
202    
203    You can change the voltage level using the Info.plist configuration file.  The
204    Info.plist is installed, by default, in
205    /usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
206    
207    The voltage level is set in the ifdDriverOptions field. It is a binary OR
208    combinaison of 4 different levels.
209    
210    -  0: power on the card at 5V (default value)
211    - 16: power on the card at 3V and then, if 3V fails then use 5V
212    - 32: power on the card at 1.8V, then 3V and then 5V
213    - 48: let the reader decide
214    
215    By default the voltage level is set to 0  and correspond to 5V.
216    
217    You have to restart the driver so it read the configuration file again
218    and use the new debug level value.  To restart the driver you just need
219    to unplug all your CCID readers so the the driver is unloaded and then
220    replug your readers.  You can also restart pcscd.
221    
222    
223  Known problems:  Known problems:
224  ===============  ===============
225    
226  All platforms  MacOSX libusb
227      readers enumeration  """""""""""""
228      """""""""""""""""""      There is a bug in libusb that crash the libusb library when you
229        You may have wrong reader identification if you connect two or      unplug a reader and replug it in another USB socket.  So if you
230        more reader at the exact same time.      unplug a reader replug it in the same USB socket.
231    
232        The daemon pcscd and the CCID driver do not list connected readers      see http://sourceforge.net/tracker/index.php?func=detail&aid=886778&group_id=1674&atid=101674
       in the same order. The driver has no way to know which reader has  
       been detected as a new reader by pcscd.  
   
       So if you plug two readers at the same time (for example if you  
       start pcscd with two readers connected or if you plug a USB hub  
       with two readers on the hub) you may have this (with two readers  
       foo and bar):  
       - pcscd scans the USB bus and finds a new CCID reader foo and  
         calls the driver  
       - the CCID driver scan the USB bus and finds a new different  
         reader bar  
       - pcscd continues scanning the USB bus and finds the second reader  
         bar and calls the driver  
       - the CCID driver scan the USB bus and finds an unused reader foo.  
   
         Now the reader foo will be called bar by pcscd and bar will be  
         called foo. This may not be a problem if the two readers have  
         the same name. But it is strange to insert a card in the  
         physical reader foo and see pcscd detect the card insertion in  
         the reader he calls bar.  
   
         The solution is to use IFDHCreateChannelByName() instead of  
         IFDHCreateChannel() and specify the USB device to use. But pcscd  
         does not implement IFDHCreateChannelByName() yet. Maybe in the  
         future.  
   
         Another solution is to plug readers one after the other and not  
         at the same time.  
   
 *BSD  
     libusb  
     """"""  
       The libusb does not yet support USB interrupt endpoints. You will  
       notice that the driver will stop working as soon as you insert a  
       card in the reader.  
       A new version of libusb should fix this bug.  
233    
234    
235  Licence:  Licence:
236  ========  ========
237    
238    This program is free software; you can redistribute it and/or modify    This library is free software; you can redistribute it and/or modify it
239  it under the terms of the GNU General Public License as published by the  under the terms of the GNU Lesser General Public License as published by
240  Free Software Foundation; either version 2 of the License, or (at your  the Free Software Foundation; either version 2.1 of the License, or (at
241  option) any later version.  your option) any later version.
242    
243    This program is distributed in the hope that it will be useful, but    This library is distributed in the hope that it will be useful, but
244  WITHOUT ANY WARRANTY; without even the implied warranty of  WITHOUT ANY WARRANTY; without even the implied warranty of
245  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser
246  General Public License for more details.  General Public License for more details.
247    
248    You should have received a copy of the GNU General Public License    You should have received a copy of the GNU Lesser General Public License
249  along with this program; if not, write to the Free Software Foundation,  along with this library; if not, write to the Free Software Foundation,
250  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
251    
252    
253  History:  History:
254  ========  ========
255    
256    1.3.6 - 30 April 2008, Ludovic Rousseau
257        - add support for Covadis Alya, Covadis Véga, Precise Biometrics 250
258          MC, Vasco DP905, Validy TokenA sl vt
259        - better support for the O2Micro OZ776, GemCore SIM Pro
260        - the environment variable LIBCCID_ifdLogLevel overwrite the value
261          of ifdLogLevel read from the Info.plist file
262        - add support for DragonFly BSD
263        - some minor bugs removed
264    
265    
266    1.3.5 - 22 February 2008, Ludovic Rousseau
267        - add support for Gemplus Gem e-Seal Pro, Cherry SmartBoard,
268          G83-6610
269        - use usb_interrupt_read() only if libusb > 0.1.12 or
270          --enable-usb-interrupt is used. libusb <= 0.1.12 is bogus and will
271          consume more CPU than needed.
272        - contrib/Kobil_mIDentity_switch/Kobil_mIDentity_switch was broken
273          on Linux since release 1.3.1
274        - some minor bugs removed
275    
276    
277    1.3.4 - 8 February 2008, Ludovic Rousseau
278        - the serial driver could not be loaded because of the missing
279          symbol InterruptRead
280        - remove WAIT_FOR_SYSFS="bInterfaceProtocol" to do not delay udev
281    
282    
283    1.3.3 - 6 February 2008, Ludovic Rousseau
284        - add support for Lexar Smart Enterprise Guardian and Blutronics
285          Bludrive II CCID
286        - add support of TAG_IFD_POLLING_THREAD using IFDHPolling() to
287          detect asynchronous card movements. With this feature pcscd will
288          not poll the reader every 0.4 second for a card movement but will
289          wait until the reader sends a USB interrupt signal
290        - correct a bug with an ICCD-B device and a receive buffer smaller
291          than 4 bytes
292        - remove the sleep in the udev rule. It slows down the detection of
293          any USB device
294        - some minor bugs removed
295    
296    
297    1.3.2 - 22 January 2008, Ludovic Rousseau
298        - add support of Apple Mac OS X Leopard (10.5.1)
299        - solve a hotplug problem on Ubuntu 7.10 (reader was not detected)
300        - create a symlink from libccidtwin.so to libccidtwin.so.VERSION so
301          that the /etc/reader.conf configuration file do not need to edited
302          for each new driver version
303        - make driver for the GemPC Serial compile again
304        - some minor bugs removed
305    
306    
307    1.3.1 - 16 November 2007, Ludovic Rousseau
308        - add support for "Philips Semiconductors JCOP41V221" ICCD card,
309          O2Micro oz776 (ProductID 0x7772), CardMan5321, Giesecke & Devrient
310          StarSign Card Token 350 and 550, SafeNet IKey4000, Eutron
311          CryptoIdentity, Eutron Smart Pocket, Eutron Digipass 860, Lenovo
312          Integrated Smart Card Reader, "Kobil EMV CAP - SecOVID Reader III,
313          Charismathics token, Reiner-SCT cyberJack pinpad(a)
314        - improve support of Mac OS X and *BSD
315        - some minor bugs removed
316    
317    
318    1.3.0 - 10 May 2007, Ludovic Rousseau
319        - add support of ICCD version A and B
320        - add support for (new) KOBIL mIDentity, SchlumbergerSema Cyberflex
321          Access e-gate ICCD, Fujitsu Siemens Computers SmartCard USB 2A and
322          SmartCard Keyboard USB 2A readers, OmniKey CardMan 4321
323        - contrib/RSA_SecurID/RSA_SecurID_getpasswd: tool to get the on time
324          password also displayed on the token screen
325        - contrib/Kobil_mIDentity_switch: tool to activate the CCID reader
326          of the Kobil mIDentity. The tool should be started automatically
327          by the udev rule on Linux
328        - GemPC pinpad: localisation of the string "PIN blocked", add
329          Portuguese(pt), Dutch(nl) and Turkish(tr) localisations
330        - some minor bugs removed
331    
332    1.2.1 - 27 January 2007, Ludovic Rousseau
333        - pcscd_ccid.rules: add non CCID generic (InterfaceClass: 0xFF)
334          readers
335        - INSTALL: document how to use --enable-udev on FreeBSD
336        - move the O2Micro Oz7762 from the unsupported to the supported list
337          since patches to support it are applied by default
338          (O2MICRO_OZ776_PATCH)
339    
340    
341    1.2.0 - 19 January 2007, Ludovic Rousseau
342        - add support for SCARD_ATTR_VENDOR_IFD_VERSION,
343          SCARD_ATTR_VENDOR_NAME and SCARD_ATTR_MAXINPUT tags used by
344          SCardGetAttrib(). Read SCARDGETATTRIB.txt for more documentation
345        - add support for OmniKey CardMan 5125, CardMan 1021, C3PO LTC32,
346          Teo by Xiring, HP USB Smartcard Reader
347        - use --enable-twinserial to build the serial reader driver
348        - use --enable-udev to configure for a use with Linux udev hotplug
349          mechanism. This will allow pcscd to avoid polling the USB bus
350          every 1 second
351        - some minor bugs removed
352    
353    
354    1.1.0 - 11 August 2006, Ludovic Rousseau
355        - support Extended APDU (up to 64KB) for readers in TPDU mode (many
356          readers) or Extended APDU mode (very rare). This only works for
357          T=1 cards.
358        - add support for C3PO LTC31 (new version), OmniKey CardMan 3021, HP
359          USB Smart Card Keyboard, Actividentity (ActiveCard) Activkey Sim,
360          id3 Semiconductors CL1356D and CL1356T, Alcor Micro AU9520
361        - support the contactless interface of the SCR331-DI-NTTCOM
362        - add support of FreeBSD
363        - increase the USB timeout used for PIN verify/modify to not timeout
364          before the reader
365        - the 4-bytes value returned by CM_IOCTL_GET_FEATURE_REQUEST shall
366          be encoded in big endian as documented in PCSC v2 part 10 ch 2.2
367          page 2. The applications using this feature shall be updated (to
368          respect the PCSC specification).
369        - use ./configure --enable-twinserial to compile and install the the
370          driver for the GemPC Twin serial
371        - some minor bugs removed
372    
373    
374    1.0.1 - 22 April 2006, Ludovic Rousseau
375        - add support for Axalto Reflex USB v3, SCM Micro SDI 010, Winbond
376          Electronics W81E381 chipset, Gemplus GemPC Card, Athena ASE IIIe
377          KB USB, OmniKey CardMan 3621
378        - support Solaris (Solaris uses a different libusb)
379        - better documentation for ./configure arguments
380        - improve support of Cherry XX44 keyboard for PIN verify and change
381          (circumvent firmware bugs)
382        - do not use LTPBundleFindValueWithKey() from pcscd since this
383          function has been removed from pcscd API
384        - use -fvisibility=hidden is available to limit the number of
385          exported symbols
386    
387    
388    1.0.0 - 3 March 2006, Ludovic Rousseau
389        - add support for ActivCard USB Reader 3.0, Athena ASE IIIe USB V2,
390          SCM Micro SCR 355, SCR 3311, SCR 3320, SCR 3340 ExpressCard54,
391          Gemplus GemCore SIM Pro, GemCore POS Pro (serial and USB), GemPC
392          Express (ExpressCard/54 interface), SmartEpad (v 2.0), OmniKey
393          CardMan 5121
394        - greatly improve support of PIN PAD readers. We now support TPDU
395          readers with T=1 cards
396        - use l10n strings for the Gemplus GemPC PIN PAD (it has a screen).
397          Supported languages are: de, en, es, fr, it
398        - rename ACS ACR 38 in ACR 38U-CCID since the ACR 38 is a different
399          reader and is not CCID compatible
400        - allow to select the Power On voltage using Info.plist instead of
401          recompiling the source code
402        - correct bugs in the support of multi-slots readers
403        - if the card is faster than the reader (TA1=97 for example) we try
404          to use a not-so-bad speed (corresponding to TA1=96, 95 or 94)
405          instead of the default speed of TA1=11
406        - the src/parse tool do not use the driver anymore. No need to
407          update the Info.plist file first.
408        - some minor bugs removed
409    
410    
411    0.9.4 - 27 November 2005, Ludovic Rousseau
412        - add support for Eutron SIM Pocket Combo, Eutron CryptoIdentity,
413          Verisign Secure Token and VeriSign Secure Storage Token, GemPC
414          Card (PCMCIA), SCM SCR331-DI NTTCom, SCM Micro SCR 3310-NTTCom,
415          Cherry ST-1044U, Cherry SmartTerminal ST-2XXX
416        - add support of PC/SC v2 part 10 CM_IOCTL_GET_FEATURE_REQUEST add
417          support of FEATURE_VERIFY_PIN_DIRECT and FEATURE_MODIFY_PIN_DIRECT
418          remove support of IOCTL_SMARTCARD_VENDOR_VERIFY_PIN (now
419          obsoleted). A sample code is available in examples/scardcontrol.c
420        - we need pcsc-lite 1.2.9-beta9 since some structures used for PIN
421          pad readers are defined by pcsc-lite
422        - some (bogus) cards require an extra EGT but the ATR does not say
423          so. We try to detect the bogus cards and set TC1=2
424        - IFDHSetProtocolParameters(): only use a data rate supported by the
425          reader in the PPS negociation, otherwise we stay at the default
426          speed.
427        - calculate and store the read timeout according to the card ATR
428          instead of using a fixed value of 60 seconds
429        - increase the read timeout if the card sends and WTX request
430        - improve support of GemPC Twin and GemPC Card (serial protocol)
431        - reset the device on close only if DRIVER_OPTION_RESET_ON_CLOSE is
432          set. The problem was that a device reset also disconnects the
433          keyboard on a keyboard + reader device.
434        - use color logs
435        - some minor bugs removed
436    
437    
438    0.9.3 - 14 March 2005, Ludovic Rousseau
439        - change the licence from GNU GPL to GNU Lesser GPL (LGPL)
440        - add support for ACS ACR 38, Kobil KAAN Base, Kobil KAAN Advanced,
441          Kobil KAAN SIM III, Kobil KAAN mIDentity, SCM Micro SCR 331,
442          SCM Micro SCR 331-DI, SCM Micro SCR 335, SCM Micro SCR 3310,
443          SCM Micro SCR 532, Cherry XX44 readers
444        - improve communication speed with readers featuring "Automatic PPS
445          made by the CCID"
446        - switch the Cherry xx33 reader in ISO mode if power up in EMV mode
447          fails.
448        - add support of character level readers. Thanks to O2Micro for the
449          patch
450        - add support for the O2Micro OZ776S reader but the reader firmware
451          is still bogus
452        - check firmware version to avoid firmwares with bugs. You can still
453          use a bogus firmware by setting DRIVER_OPTION_USE_BOGUS_FIRMWARE
454          in Info.plist
455        - some minor bugs removed
456    
457    0.9.2 - 15 August 2004, Ludovic Rousseau
458        - T=1 TPDU code:
459          . the work on T=1 TPDU code was possible thanks to Gemplus
460            validation team who helped me test, debug and bring the code to
461            an EMV validation level. Thanks to Jérôme, Jean-Yves, Xavier and
462            the Gemplus readers department
463          . error code was not checked correctly
464          . avoid a (nearly) infinite loop when resynch are needed.
465          . correctly initialise an internal value to allow more than one
466            reader to work
467        - multi-slots readers
468          . add support for multi-slots readers. The only one I have is a
469            SCM Micro SCR 331-DI with a contact and a contactless interface.
470            The contactless interface may or may not work for you since the
471            reader uses proprietary (undocumented) commands.
472        - GemPC Twin serial reader
473          . perform a command (get the reader firmware) to be sure a GemPC
474            Twin (serial or pcmcia) reader is connected
475          . use a dynamic timeout when reading the serial port.
476            The first timeout used when detecting the reader is 2 seconds to
477            not wait too long if no reader is connected. Later timeouts are
478            set to 1 minute to allow long time APDU.
479        - use `pkg-config libpcsclite --cflags` to locate the pcsc-lite
480          header files
481        - use `pkg-config --print-errors --atleast-version=1.2.9-beta5 libpcsclite`
482          to test the pcsc-lite version
483        - code improvements thanks to the splint tool (http://www.splint.org/)
484    
485    0.9.1 - 1 July 2004, Ludovic Rousseau
486        - I forgot to define IFD_PARITY_ERROR in a .h file
487    
488    0.9.0 - 1 July 2004, Ludovic Rousseau
489        - The T=1 TPDU automata from Carlos Prados' Towitoko driver is very
490          limited and do not support error management mechanisms.
491          I then used the T=1 TPDU automata from OpenCT (OpenSC project).
492          This automata is much more powerful but still lacks a lot of error
493          management code.
494          I then added all the needed code to reach the quality level
495          requested by the EMV standard.
496        - add support for new readers:
497          . Advanced Card Systems ACR 38
498          . Cherry XX33
499          . Dell keyboard SK-3106
500          . Dell smart card reader keyboard
501          . SCR 333
502        - add support of multi procotol cards (T=0 and T=1)
503        - the debug level is now dynamic and set in the Info.plist file (no
504          need to recompile the driver any more)
505        - add support for the libusb naming scheme: usb:%04x/%04x:libusb:%s
506        - INSTALL: add a "configuring the driver for the serial reader
507          (GemPC Twin)" part
508        - use `pkg-config libpcsclite --variable=usbdropdir` so you do not
509          have to use --enable-usbdropdir=DIR or --enable-ccidtwindir=DIR
510          even if pcscd does not use the default /usr/local/pcsc/drivers
511        - add support of IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE and
512          IOCTL_SMARTCARD_VENDOR_VERIFY_PIN in IFDHControl()
513        - read ifdDriverOptions from Info.plist to limit the use of
514          IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE (idea from Peter Williams)
515        - provide an example of use of SCardControl()
516          IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE and
517          IOCTL_SMARTCARD_VENDOR_VERIFY_PIN in example/
518        - add a --enable-pcsclite option (default to yes) so that the driver
519          can be compiled for a different framework (one needing
520          tokenparser.l like Solaris)
521        - Reset action is power off and power on, not just power on
522        - use the include files from pcsc-lite
523        - add a mechanism to allow power on at 1.8V, 3V and then 5V as
524          specified by ISO 7816. We still use 5V for now to avoid problems
525          with non ISO compliant cards
526    
527    0.4.1 - 14 February 2004, Ludovic Rousseau
528        - distribute missing files readers/supported_readers.txt and
529          src/create_Info_plist.pl
530          'make install' failed because of this.
531    
532  0.4.0 - 13 February 2004, Ludovic Rousseau  0.4.0 - 13 February 2004, Ludovic Rousseau
533      - support of T=1 with TPDU readers. A lot of the T=1 code comes from      - support of T=1 with TPDU readers. A lot of the T=1 code comes from
534        Carlos Prados towitoko driver.        Carlos Prados towitoko driver.
# Line 161  History: Line 568  History:
568      - move LTC31 reader from unsupported to supported reader list. It      - move LTC31 reader from unsupported to supported reader list. It
569        was my f ault since in used odd INS byte in my test applet and odd        was my f ault since in used odd INS byte in my test applet and odd
570        INS bytes are forbidden by ISO 7816-4 ch. 5.4.2 Instruction byte.        INS bytes are forbidden by ISO 7816-4 ch. 5.4.2 Instruction byte.
571        Thanks to Josep Moné s Teixidor for pointing the problem.        Thanks to Josep Moné s Teixidor for pointing the problem.
572      - src/commands.c: comment out the automatic GET RESPONSE part. I      - src/commands.c: comment out the automatic GET RESPONSE part. I
573        don't think it should be in the driver. Maybe in pcscd instead?        don't think it should be in the driver. Maybe in pcscd instead?
574    
# Line 172  History: Line 579  History:
579      - add --enable-libusb=PATH option is your libusb is not installed in      - add --enable-libusb=PATH option is your libusb is not installed in
580        /usr or /usr/local        /usr or /usr/local
581      - honor DESTDIR in install rules (closes [ #300110 ]). Thanks to      - honor DESTDIR in install rules (closes [ #300110 ]). Thanks to
582        Ville Skyttä for the patch.        Ville Skyttä for the patch.
583      - src/ccid.c: do not switch the GemPC Key and GemPC Twin in APDU      - src/ccid.c: do not switch the GemPC Key and GemPC Twin in APDU
584        mode since it also swicth in EMV mode and may not work with non        mode since it also swicth in EMV mode and may not work with non
585        EMV cards        EMV cards
# Line 202  History: Line 609  History:
609      - First public release      - First public release
610    
611    
612  Bibliography:  References:
613  =============  ===========
614    
615  [1] http://www.usb.org/developers/devclass_docs/ccid_classspec_1_00a.pdf  [1] http://www.usb.org/developers/devclass_docs/ccid_classspec_1_00a.pdf
616  [2] http://www.gemplus.com/products/gempc433/  [2] http://www.gemalto.com/products/pc_usb_sl/
617  [3] http://www.gemplus.com/products/gempckey/  [3] http://www.gemalto.com/products/usb_shell_token_v2/
618  [4] http://www.gemplus.com/products/gempctwin/  [4] http://www.gemalto.com/products/pctwin/
619  [5] http://www.omnikey.com/en/produkt_details.php3?produkt=1&variante=47  [5] http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=21
620  [6] http://www.scmmicro.com/security/SCR331.html  [6] http://scmmicro.com/security/view_product_en.php?PID=3
621  [7] http://www.scmmicro.com/security/SCR335.html  [7] http://scmmicro.com/security/view_product_en.php?PID=11
622  [8] http://www.c3po.es/pcsc.htm  [8] http://www.c3po.es/ltc31.html
623  [9] http://www.scmmicro.com/security/SPR532.html  [9] http://scmmicro.com/security/view_product_en.php?PID=13
624  [10] http://www.activcard.com/products/usb_reader.html  [10] http://www.activcard.com/products/usb_reader.html
625  [11] http://www.scmmicro.com/security/SCR331-DI.html  [11] http://www.scmmicro.com/security/SCR331-DI.html
626  [12] http://www.silitek.com/prod/getProduct.do?xml_id=4_2&menu_id=4_2_8&cid=1_8_5  [12] http://www.silitek.com/prod/getProduct.do?xml_id=4_2&menu_id=4_2_8&cid=1_8_5
627    [13] http://www.c3po.es/ltc32.html
628    [14] http://www.c3po.es/tltc2usb.html
629    [15] http://scmmicro.com/security/view_product_en.php?PID=10
630    [16] http://www.acs.com.hk/Product_Readers.asp?productID=107&PCate=Products_PC_Linked_SmartCard_Readers
631    [17] http://www.scmmicro.com/support/pcs_downloads.php
632    [18] http://www.cherrycorp.com/english/advanced-line/advanced-line_smartboard_g83-6744.htm
633    [19] http://www.kobil.com/e/products/smartcard/kaan-base.php
634    [20] http://www.kobil.com/e/products/smartcard/kaan-advanced.php
635    [21] http://www.kobil.com/d/products/smartcard/kaansim3.php
636    [22] http://www.kobil.com/e/products/index.php?s=midentity
637    [23] http://www.ntt.com/jpki/SCR331DI.html
638    [24] http://www.verisign.co.uk/products-services/security-services/unified-authentication/usb-tokens/
639    [25] http://www.eutron.com/simpocket.asp
640    [26] http://www.cryptoidentity.eutron.com/eng/home.asp
641    [27] http://www.cherry.de/english/advanced-line/advanced_smartterminal_st-1044u.htm
642    [28] http://www.ntt.com/jpki/scr3310.html
643    [29] http://www.asedrive.com/product.asp?pid=1
644    [30] http://scmmicro.com/security/view_product_en.php?PID=4
645    [31] http://scmmicro.com/security/view_product_en.php?PID=5
646    [31b] http://scmmicro.com/security/view_product_en.php?PID=6
647    [32] http://www.smartepad.com.br/
648    [33] http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=37
649    [34] http://scmmicro.com/security/view_product_en.php?PID=7
650    [35] http://www.cherry.de/deutsch/advanced-line/advanced_smart_terminal_st-2000u.htm
651    [36] http://www.omnikey.com/index.php?id=products&tx_okprod_pi1[product]=29
652    [37] http://www.omnikey.com/index.php?id=products&tx_okprod_pi1[product]=33
653    [38] http://www.reflexreaders.com/Products/reflex_usbnew.html
654    [39] http://scmmicro.com/security/view_product_en.php?PID=19
655    [40] http://www.winbond.com.tw/E-WINBONDHTM/partner/b_2_e_4.htm
656    [41] http://www.gemplus.com/products/gempc_card/
657    [42] http://www.asedrive.com/product.asp?pid=2
658    [43] http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=31
659    [44] http://h18000.www1.hp.com/products/quickspecs/12346_na/12346_na.HTML
660    [45] http://www.id3semiconductors.com/produits/cl1356D.htm
661    [46] http://www.alcormicro.com/products_detail.php?main_id=8&p_id=21
662    [47] http://www.tai-hao.com/english/products_detail.php?main_id=4&second_id=13&p_id=53&now_rows=1
663    [48] http://www.id3semiconductors.com/produits/cl1356T.htm
664    [49] http://www.omnikey.com/index.php?id=products&tx_okprod_pi1[product]=48
665    [50] http://www.rsasecurity.com/products/securid/datasheets/SID800_DS_0205.pdf
666    [51] http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=39
667    [52] http://www.teobyxiring.com/
668    [53] http://www.fujitsu-siemens.com/solutions/business_solutions/security/security_products/smartcase_scr_usbex.html
669    [54] http://www.fujitsu-siemens.com/solutions/business_solutions/security/security_products/smartcase_kbpc_cx.html
670    [55] http://omnikey.aaitg.com/?id=products&tx_okprod_pi1[product]=50
671    [56] http://omnikey.aaitg.com/?id=products&tx_okprod_pi1[product]=41
672    [57] http://www.gi-de.com/portal/page?_pageid=42,126834&_dad=portal&_schema=PORTAL
673    [58] http://www.eutronsec.com/infosecurity/Contents/ProductLine/Details.aspx?IDProd=26&IDFamiglia=3
674    [59] http://www.eutronsec.com/infosecurity/Contents/ProductLine/Details.aspx?IDProd=62&IDFamiglia=39
675    [60] http://www.lexar.com/enterprise/ent_ppsd.html
676    [61] http://www.cherry.de/deutsch/produkte/chipkartentastaturen_g-6610.htm
677    [62] http://acs.com.hk/acr122.php
678    [63] http://covadis.ch/Alya.239.0.html
679    [64] http://covadis.ch/Vega.104.0.html
680    [65] http://www.validy.com/en/products/token/
681    [66] http://www.actividentity.com/products/activkey_usb_tokens__home.php
682    [67] http://www.gemalto.com/products/pc_pinpad/
683    
684  $Id$  $Id$
685    

Legend:
Removed from v.697  
changed lines
  Added in v.2931

  ViewVC Help
Powered by ViewVC 1.1.5