scd: Add support for Trustica Cryptoucan.
authorJiří Keresteš <jiri.kerestes@trustica.cz>
Tue, 17 Jul 2018 15:11:42 +0000 (17:11 +0200)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 26 Jul 2018 02:44:50 +0000 (11:44 +0900)
scd/apdu.c
scd/ccid-driver.c
scd/ccid-driver.h

index 66a16f8..ce7f41f 100644 (file)
@@ -965,7 +965,8 @@ pcsc_vendor_specific_init (int slot)
           else if (strstr (reader_table[slot].rdrname, "cyberJack")
                    || strstr (reader_table[slot].rdrname, "DIGIPASS")
                    || strstr (reader_table[slot].rdrname, "Gnuk")
-                   || strstr (reader_table[slot].rdrname, "KAAN"))
+                   || strstr (reader_table[slot].rdrname, "KAAN")
+                   || strstr (reader_table[slot].rdrname, "Trustica"))
             reader_table[slot].pinpad_varlen_supported = 1;
         }
 
@@ -1039,7 +1040,8 @@ pcsc_vendor_specific_init (int slot)
   else if (vendor == 0x0c4b /* Tested with Reiner cyberJack GO */
            || vendor == 0x1a44 /* Tested with Vasco DIGIPASS 920 */
            || vendor == 0x234b /* Tested with FSIJ Gnuk Token */
-           || vendor == 0x0d46 /* Tested with KAAN Advanced??? */)
+           || vendor == 0x0d46 /* Tested with KAAN Advanced??? */
+           || (vendor == 0x1fc9 && product == 0x81e6) /* Tested with Trustica Cryptoucan */)
     reader_table[slot].pinpad_varlen_supported = 1;
 
   return 0;
index f33a36c..ae40f01 100644 (file)
@@ -3387,6 +3387,12 @@ ccid_transceive_secure (ccid_driver_t handle,
       if (handle->id_product != CHERRY_ST2000)
         cherry_mode = 1;
       break;
+    case VENDOR_NXP:
+      if (handle->id_product == CRYPTOUCAN){
+        pininfo->maxlen = 25;
+        enable_varlen = 1;
+      }
+      break;
     default:
       if ((handle->id_vendor == VENDOR_GEMPC &&
            handle->id_product == GEMPC_PINPAD)
index b6da30c..c31c25f 100644 (file)
@@ -68,7 +68,8 @@ enum {
   VENDOR_REINER = 0x0c4b,
   VENDOR_KAAN   = 0x0d46,
   VENDOR_FSIJ   = 0x234b,
-  VENDOR_VASCO  = 0x1a44
+  VENDOR_VASCO  = 0x1a44,
+  VENDOR_NXP    = 0x1fc9,
 };
 
 
@@ -84,6 +85,7 @@ enum {
 #define GEMPC_CT30      0x3437
 #define VEGA_ALPHA      0x0008
 #define CYBERJACK_GO    0x0504
+#define CRYPTOUCAN      0x81e6
 
 #endif /*CCID_DRIVER_INCLUDE_USB_IDS*/