Hello,

ISO/IEC 7816-12:2005
7.2 The Class Specific Descriptor
Table 8 - Class specific descriptor for a USB-ICC

Offset:  40
Field:   dwFeatures
Size:    4
Value:   0000 00840h
         0002 00840h
         0004 00840h
Description:
         The value of the lower word (=0840) indicates
         that the host will only send requests that are valid
         for the USB-ICC.
         The value of the upper word is the level of data
         exchange with the USB-ICC:
         0000h Character level exchanges
         0002h Short APDU level exchanges
         0004h Short and extended APDU level exchanges

But

Smart Card CCID version 1.1
5 Smart Card Device Class
5.1 Descriptor
Table 5.1-1 Smart Card Device Class Descriptors

for dwFeatures: "3) When a CCID doesn't declare the value 00000010h the frequency must be made via the manufacturer proprietary PC_to_RDR_Escape command, same thing for the baud rate when the value 00000020h is not declared."


Patch for trunk revision 1157 is in attachment.
Thanks
diff -u -r openct-trunk-r1157/src/ifd/ifd-ccid.c 
openct-trunk-r1157_new/src/ifd/ifd-ccid.c
--- openct-trunk-r1157/src/ifd/ifd-ccid.c       2009-02-26 11:58:13.000000000 
+0300
+++ openct-trunk-r1157_new/src/ifd/ifd-ccid.c   2009-07-15 16:34:36.000000000 
+0400
@@ -727,8 +727,13 @@
 /* "When a CCID doesn't declare the values 00000010h and 00000020h, the
  * frequency or the baud rate must be made via manufacturer proprietary
  * PC_to_RDR_Escape command." - ccid class specification v1.00
+ * 
+ * "The value of the lower word (=0840) indicates that the host will only
+ * send requests that are valid for the USB-ICC." - ISO/IEC 7816-12:2005
+ * 7.2/Table 8
  */
-       if (~ccid.dwFeatures & (0x10 | 0x20)) {
+       if ((ccid.dwFeatures & 0xFFFF) != 0x0840
+           && ~ccid.dwFeatures & (0x10 | 0x20)) {
                ct_error("ccid: required card initialization features missing");
                free(st);
                ifd_device_close(dev);
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to