[Pcsclite-cvs-commit] r3343 - in /website: matrix.py readers.ini shouldwork.ini supported.ini unsupported.ini
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Fri Mar 13 09:55:09 UTC 2009
Author: rousseau
Date: Fri Mar 13 09:55:09 2009
New Revision: 3343
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3343
Log:
split readers.ini in 3 different files and populate them
Added:
website/shouldwork.ini
website/supported.ini
- copied, changed from r3342, website/readers.ini
website/unsupported.ini
Removed:
website/readers.ini
Modified:
website/matrix.py
Modified: website/matrix.py
URL: http://svn.debian.org/wsvn/pcsclite/website/matrix.py?rev=3343&op=diff
==============================================================================
--- website/matrix.py (original)
+++ website/matrix.py Fri Mar 13 09:55:09 2009
@@ -20,6 +20,15 @@
import glob
import os
import ConfigParser
+import pprint
+
+pp = pprint.PrettyPrinter(indent=4)
+
+def merge(*input):
+ """
+ merge all the lists passed as argument
+ """
+ return reduce(list.__add__, input, list())
def parse_reader(path, reader):
"""
@@ -47,6 +56,21 @@
return readers
+def parse_ini(path, inifile):
+ """
+ parse a foobas.ini file to extract all informations
+ """
+ config = ConfigParser.ConfigParser()
+ config.read(inifile)
+ reader_list = config.sections()
+
+ readers = parse_all(path, reader_list)
+ for r in readers.keys():
+ for o in config.options(r):
+ readers[r][o] = config.get(r, o)
+
+ return readers
+
def check_list(path, reader_list):
cwd = os.getcwd()
os.chdir(path)
@@ -70,19 +94,18 @@
raise Exception("readers %s are not listed" % real_list)
if __name__ == "__main__":
- # one foobar.txt per line
- list = "readers.ini"
path = "../trunk/Drivers/ccid/readers/"
- config = ConfigParser.ConfigParser()
- config.read(list)
- reader_list = config.sections()
+ supported_readers = parse_ini(path, "supported.ini")
+ shouldwork_readers = parse_ini(path, "shouldwork.ini")
+ unsupported_readers = parse_ini(path, "unsupported.ini")
+ reader_list = merge(supported_readers.keys(),
+ shouldwork_readers.keys(), unsupported_readers.keys())
+ #pp.pprint(reader_list)
+ check_list(path, reader_list)
- check_list(path, reader_list)
- readers = parse_all(path, reader_list)
- for r in readers.keys():
- #print readers[r]
- #print readers[r]["iManufacturer"]
- #print readers[r]["dwMaxCCIDMessageLength"]
+ r = "Kobil_EMV_CAP.txt"
+ #pp.pprint(supported_readers[r].keys())
+ for k in supported_readers[r].keys():
+ #print k, ":", supported_readers[r][k]
pass
-
Added: website/shouldwork.ini
URL: http://svn.debian.org/wsvn/pcsclite/website/shouldwork.ini?rev=3343&op=file
==============================================================================
--- website/shouldwork.ini (added)
+++ website/shouldwork.ini Fri Mar 13 09:55:09 2009
@@ -1,0 +1,160 @@
+; **************************************************************************
+; Should work but untested by me
+; **************************************************************************
+
+[ACR122U_PICC.txt]
+image = acr122.png
+url = http://acs.com.hk/acr122.php
+[AxaltoV3.txt]
+image = reflexusbv3.png
+url = http://www.reflexreaders.com/Products/reflex_usbnew.html
+[Aladdin_eToken_PRO_USB_72K_Java.txt]
+image = aladdin_pro.png
+url = http://www.aladdin.com/etoken/devices/pro-usb.aspx
+[ATMEL_AT91SO.txt]
+url = http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3981
+[ATMEL_AT98SC032CT.txt]
+url = http://www.atmel.com/dyn/products/product_card.asp?part_id=4063
+[C3PO_LTC32_USBv2_old.txt]
+[C3PO_LTC32_USBv2.txt]
+image = ltc32.png
+url = http://www.c3po.es/ltc32.html
+[C3PO_KBR36.txt]
+image = KBR36.jpg
+[CherrySmartBoardXX1X.txt]
+image = G83-6610.png
+url = http://www.cherry.de/deutsch/produkte/chipkartentastaturen_g-6610.htm
+[GemPC_Express.txt]
+image = gempcexpresscard.png
+url = http://www.gemalto.com/products/pc_express_card/
+[Gem_e-SealPro.txt]
+[FujitsuSiemens_SmartCard_USB_2A.txt]
+image = fs_SmartCase_SCR.png
+url = http://www.fujitsu-siemens.com/solutions/business_solutions/security/security_products/smartcase_scr_usbex.html
+[FujitsuSiemens_SmartCard_Keyboard_USB_2A.txt]
+image = fs_SmartCase_KBPC_CX.png
+url = http://www.fujitsu-siemens.com/solutions/business_solutions/security/security_products/smartcase_kbpc_cx.html
+[GnD_StarSignCardToken550.txt]
+[GnD_StarSignCardToken350.txt]
+image = StarSignCardToken350.png
+url = http://www.gi-de.com/portal/page?_pageid=42,126834&_dad=portal&_schema=PORTAL
+[HP_MFP_SmartCardReader.txt]
+image = hpusbsmartcardreader.png
+[HPUSBSmartCardKeyboard.txt]
+image = hpusbsmartcardkeyboard.png
+url = http://h18000.www1.hp.com/products/quickspecs/12346_na/12346_na.HTML
+[id3_CL1356A_HID.txt]
+image = CL1356A.png
+features = contactless
+[id3_CL1356D.txt]
+image = CL1356T.png
+features = contactless
+[iMONO.txt]
+image = iMONO.png
+url = http://usb.brando.com.hk/prod_detail.php?prod_id=00570&dept_id=015&cat_id=031
+[MSI_StarReader_SMART.txt]
+image = MSI_StarReader_SMART.png
+url = http://global.msi.com.tw/index.php?func=proddesc&maincat_no=132&prod_no=1411
+[KEBTechnology_KONA_USB_SmartCard.txt]
+[Oz776_7772.txt]
+note = This reader is common as an internal reader in laptops.
+[Oberthur-CosmoCard.txt]
+[CardMan1021.txt]
+[CardMan3021.txt]
+image = cardman3021.png
+url = http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=48
+[CardMan3621.txt]
+image = cardman3621.png
+url = http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=31
+[CardMan3821.txt]
+image = cardman3821_01.png
+url = http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=33
+[CardMan4321.txt]
+image = cardman4321.png
+url = http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=50
+[CardMan5121.txt]
+image = cardman5121.png
+url = http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=37
+features = contactless
+note = The RFID interface is not supported.
+[CardMan5125.txt]
+image = cardman5121.png
+url = http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=39
+features = contactless
+note = The HID PROX interface is not supported.
+[CardMan5321.txt]
+image = cardman5321.png
+url = http://omnikey.aaitg.com/?id=products&tx_okprod_pi1[product]=41
+features = contactless
+note = The RFID interface is not supported.
+[CardMan6121.txt]
+image = cardman_6121_02.jpg
+url = http://www.omnikey.com/index.php?id=21
+[JCOP41V221.txt]
+[Philips_SmartMX.txt]
+image = safenet-ikey4000.png
+note = used in some SafeNet iKey 4000
+[Precise_200_MC.txt]
+image = Precise200MC.png
+url = http://precisebiometrics.com/?id=2718&cid=2722
+[Precise_250_MC.txt]
+image = Precise250MC.png
+url = "http://precisebiometrics.com/?id=2718&cid=2723
+[e-gate.txt]
+[SCR331-DI-NTTCom.txt]
+image = scr331di-nttcom.png
+url = http://www.ntt.com/jpki/SCR331DI.html
+features = contactless
+note = The contactless interface is not supported.
+[SCR3320.txt]
+image = SCR3320.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=6
+[SCR333.txt]
+image = SCR333.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=10
+[SCR3340.txt]
+image = SCR3340.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=7
+[SDI010.txt]
+image = SDI010.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=19
+[Sitecom_MD-010.txt]
+image = Sitecom_MD_010_USB_SIM_Card_Reader.png
+[SpringCard_CrazyWriter.txt]
+image = crazywriter.png
+url = http://www.springcard.com/fr/products/crazywriter.html
+features = contactless
+[SpringCard_CSB6_Basic.txt]
+image = csb6.png
+url = http://www.springcard.com/fr/products/csb6.html
+features = contactless
+[SpringCard_CSB6_Secure.txt]
+image = csb6.png
+url = http://www.springcard.com/fr/products/csb6.html
+features = contactless
+[SpringCard_CSB6_Ultimate.txt]
+image = csb6.png
+url = http://www.springcard.com/fr/products/csb6.html
+features = contactless
+[SpringCard_EasyFinger_Standard.txt]
+image = easyfinger.png
+url = http://www.springcard.com/fr/products/easyfinger.html
+features = contactless
+[SpringCard_EasyFinger_Ultimate.txt]
+image = easyfinger.png
+url = http://www.springcard.com/fr/products/easyfinger.html
+features = contactless
+[SpringCard_Prox_N_Roll.txt]
+image = proxnroll.png
+url = http://www.springcard.com/fr/products/proxnroll.html
+features = contactless
+[Validy_TokenA.txt]
+image = validy_token.png
+url = http://www.validy.com/en/products/token/
+[Vasco_DP905.txt]
+[Vega-Alpha.txt]
+image = vega-alpha.png
+url = http://covadis.ch/Vega-alpha.247.0.html
+[VMware_Virtual_USB_CCID.txt]
+[Winbond.txt]
+[Xiring_XI-SIGN_6000.txt]
Copied: website/supported.ini (from r3342, website/readers.ini)
URL: http://svn.debian.org/wsvn/pcsclite/website/supported.ini?rev=3343&op=diff
==============================================================================
--- website/readers.ini (original)
+++ website/supported.ini Fri Mar 13 09:55:09 2009
@@ -1,125 +1,190 @@
-[ACR122U_PICC.txt]
+; **************************************************************************
+; Supported
+; **************************************************************************
+
[ACR122U.txt]
[ACR38U-CCID.txt]
+image = ACR38-CCID.png
+url = http://www.acs.com.hk/acr38ccid.php
+note = Old versions of this reader are bogus: the reader do timeout
+ when a special USB frame is sent from the reader. If the frame
+ size if a multiple of wMaxPacketSize the communication is stopped.
[ACS_ACR100.txt]
[ACS_ACR38_plugin.txt]
-[ActivCardV2.txt]
[ActivCardV3.txt]
+image = ActivIdentity_key.png
+url = http://www.actividentity.com/products/activkey_usb_tokens__home.php
[ActivkeySim.txt]
[Aktiv_Rutoken_Magistra.txt]
-[Aladdin_eToken_PRO_USB_72K_Java.txt]
[Alya.txt]
+image = alya.png
+url = http://covadis.ch/Alya.239.0.html
[ASEDrive_IIIe_KB.txt]
+image = ASEDrive_IIIe_KB.png
+url = http://www.asedrive.com/product.asp?pid=2
+note = firmware older than 6.07 is bogus
[ASE_IIIe.txt]
-[ATMEL_AT91SO.txt]
-[ATMEL_AT98SC032CT.txt]
+image = ASEDrive_IIIe_USB.png
+url = http://www.asedrive.com/product.asp?pid=1
[AU9520.txt]
-[AxaltoV3.txt]
+note = Firmware 1.01 is bogus. The time request sent by the card is
+ not forwarded by the reader to the host.
[BludriveII.txt]
+image = BludriveII_CCID.png
+url = http://shop.blutronics.com/ViewProdotti.asp?IdMarca=3&Id=751
[Broadcom_5880.txt]
-[C3PO_KBR36.txt]
-[C3PO_LTC32_USBv2_old.txt]
-[C3PO_LTC32_USBv2.txt]
[C3PO_TLTC2USB.txt]
-[CardMan1021.txt]
-[CardMan3021.txt]
[CardMan3121.txt]
-[CardMan3621.txt]
-[CardMan3821.txt]
-[CardMan4321.txt]
-[CardMan5121.txt]
-[CardMan5125.txt]
-[CardMan5321.txt]
-[CardMan6121.txt]
+image = cardman3121.png
+url = http://www.omnikey.com/?id=products&tx_okprod_pi1[product]=21
[Charismathics.txt]
-[CherrySmartBoardXX1X.txt]
[CherrySmartTerminalST2XXX.txt]
+image = ST_2000_UCR.png
+url = http://www.cherry.de/english/products/electronic_signature_smartterminal_st-2000u.htm
[CherrySmartTerminalXX1X.txt]
[CherryST1044U.txt]
+image = ST-1044.png
+url = http://www.cherry.de/english/products/logon_smartterminal_st-1044u.htm
[CherryXX33.txt]
[CherryXX44.txt]
+image = G83-6744_de.jpg
+url = http://www.cherrycorp.com/english/advanced-line/advanced-line_smartboard_g83-6744.htm
[CL1356T.txt]
[CryptoIdentity.txt]
[DellSCRK.txt]
[DellSK-3106.txt]
-[e-gate.txt]
+image = Dell_keyboard.jpg
+url = http://accessories.us.dell.com/sna/productdetail.aspx?sku=310-5155&c=us&l=en&cs=04&category_id=5436&page=external
[Eutron_CryptoIdentity.txt]
+image = cryptoidentity.png
+url = http://www.cryptoidentity.eutron.com/ENG/home.asp
[Eutron_Digipass_860.txt]
+image = Eutron_digipass860.png
+url = http://www.eutronsec.com/infosecurity/Contents/ProductLine/Details.aspx?IDProd=62&IDFamiglia=39
[Eutron_Smart_Pocket.txt]
-[FujitsuSiemens_SmartCard_Keyboard_USB_2A.txt]
-[FujitsuSiemens_SmartCard_USB_2A.txt]
+image = Eutron_Smart_Reader.png
+url = http://www.eutronsec.com/infosecurity/Contents/ProductLine/Details.aspx?IDProd=26&IDFamiglia=3
[Gemalto_PDT.txt]
[GemaltoSmartEnterpriseGuardian.txt]
+image = seg.png
+url = http://www.lexar.com/enterprise/ent_ppsd.html
[GemCoreSIMPro.txt]
-[Gem_e-SealPro.txt]
[GemPC433_SL.txt]
-[GemPC_Express.txt]
+image = gempcusb.jpg
+url = "http://www.gemalto.com/products/pc_usb_sl/
[GemPCKey.txt]
+image = gempckey.png
+url = http://www.gemalto.com/products/usb_shell_token_v2/
[GemPCPinpad.txt]
+image = gempcpinpad.png
+url = http://www.gemalto.com/products/pc_pinpad/
+note = <p>Known problems/limitations:</P>
+ <ul>
+ <li>Does not support minimum PIN length (wPINMaxExtraDigit)
+ lower than 4</li>
+
+ <li>Does not support maximum PIN length (wPINMaxExtraDigit)
+ greater than 8</li>
+
+ <li>Does not support "no string" (0x00) displayed for
+ bNumberMessage (corrected by the driver)</li>
+
+ <li>Does not support "default" (0xFF) display message for
+ bNumberMessage (corrected by the driver)</li>
+
+ <li>Does not support validation by "Max size reached" (0x01)
+ for bEntryValidationCondition (corrected by the driver)</li>
+
+ <li>Does not support validation by "Timeout occurred" (0x04)
+ for bEntryValidationCondition (corrected by the driver)</li>
+
+ <li>Does send a VERIFY PIN command with an empty PIN to get
+ the number of remaining trials. This may be problematic with
+ some smart cards like the Belgian eID card that does not
+ support this and will decrement the counter</li>
+ </ul>
[GemPCTwin.txt]
-[GnD_StarSignCardToken350.txt]
-[GnD_StarSignCardToken550.txt]
-[HP_MFP_SmartCardReader.txt]
-[HPUSBSmartCardKeyboard.txt]
+image = gempctwin.jpg
+url = http://www.gemalto.com/products/pctwin/
[HPUSBSmartCardReader.txt]
-[id3_CL1356A_HID.txt]
-[id3_CL1356D.txt]
-[iDream.txt]
-[iMONO.txt]
-[JCOP41V221.txt]
[jNet_jToken_s1.txt]
[KAAN_Advanced.txt]
+image = Kobil_Advanced.jpg
+url = http://www.kobil.com/index.php?id=68&type=7&L=0
+note = firmware older than 0.37 is bogus
+ Kobil readers does not support RDR_to_PC_DataBlock CCID commands chaining so you can't send an extended APDU even if the Kobil readers (with firmware 1.19) supports a command of up to 420 bytes.
+ To use extended APDU on these readers you must change the value of CMD_BUF_SIZE in the file src/defs.h to: #define CMD_BUF_SIZE 420
+ Kobil is aware of the problem and do not plan to solve it.
+ Changing this value may create unpredicted problems. I have not validated the driver with such a change.
[KAAN_Base.txt]
+image = Kobil_Base.jpg
+url = http://www.kobil.com/index.php?id=67&type=7&L=0
+note = firwmare older than 0.37 is bogus
+ Kobil readers does not support RDR_to_PC_DataBlock CCID commands chaining so you can't send an extended APDU even if the Kobil readers (with firmware 1.19) supports a command of up to 420 bytes.
+ To use extended APDU on these readers you must change the value of CMD_BUF_SIZE in the file src/defs.h to: #define CMD_BUF_SIZE 420
+ Kobil is aware of the problem and do not plan to solve it.
+ Changing this value may create unpredicted problems. I have not validated the driver with such a change.
[KAAN_SIM_III.txt]
-[KEBTechnology_KONA_USB_SmartCard.txt]
+image = kaansim.jpg
[Kobil_EMV_CAP.txt]
+image = kobil_emv_tricap.png
+url = http://www.kobil.com/index.php?id=71&type=7&L=0
+note = Kobil readers does not support RDR_to_PC_DataBlock CCID commands chaining so you can't send an extended APDU even if the Kobil readers (with firmware 1.19) supports a command of up to 420 bytes.
+ To use extended APDU on these readers you must change the value of CMD_BUF_SIZE in the file src/defs.h to: #define CMD_BUF_SIZE 420
+ Kobil is aware of the problem and do not plan to solve it.
+ Changing this value may create unpredicted problems. I have not validated the driver with such a change.
[Lenovo.txt]
-[LTC31.txt]
[LTC31v2.txt]
+image = LTC31.png
+url = http://www.c3po.es/ltc31.html
+note = new model with USB product ID 0x0006
[LTC32.txt]
-[mIDentity.txt]
-[mIDentityXL.txt]
-[MSI_StarReader_SMART.txt]
[MySmartPad.txt]
+image = smartepad.png
+url = http://www.smartepad.com.br/index.htm
[Neowave_Weneo.txt]
-[Oberthur-CosmoCard.txt]
[Omnikey_noname1.txt]
-[Oz776_7772.txt]
[Oz776S.txt]
-[Philips_SmartMX.txt]
-[Precise_200_MC.txt]
-[Precise_250_MC.txt]
-[ReinerSCT.txt]
+note = This reader is common as an internal reader in laptops like the Dell D420 or D820.
[SCR3310.txt]
+image = scr3310.jpg
+url = http://www.scmmicro.com/security/view_product_en.php?PID=4
[SCR3311.txt]
-[SCR331-DI-NTTCom.txt]
+image = SCR3311.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=5
[SCR331-DI.txt]
+image = SCR331DI.png
+note = You have to upgrade the firmware using version 5.18 or later.
+ The contactless interface is not supported.
+features = contactless
[SCR331.txt]
-[SCR3320.txt]
-[SCR333.txt]
-[SCR3340.txt]
+image = SCR_331.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=2
+note = You have to upgrade the firmware using version 5.18 or later.
[SCR335.txt]
+image = SCR335.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=11
+note = You have to upgrade the firmware using version 5.18 or later.
[SCR355.txt]
-[SDI010.txt]
[sid800.txt]
+image = SID800.png
+url = "http://www.rsa.com/products/securid/datasheets/SID800_DS_0507.pdf
[SIM_Pocket_Combo.txt]
-[Sitecom_MD-010.txt]
+image = simpocketcombo_chiave.png
+url = http://www.eutronsec.it/infosecurity/contents/productline/Details.aspx?IDProd=11&IDFamiglia=3&IDDett1lev=931
[SPR532.txt]
-[SpringCard_CrazyWriter.txt]
-[SpringCard_CSB6_Basic.txt]
-[SpringCard_CSB6_Secure.txt]
-[SpringCard_CSB6_Ultimate.txt]
-[SpringCard_EasyFinger_Standard.txt]
-[SpringCard_EasyFinger_Ultimate.txt]
-[SpringCard_Prox_N_Roll.txt]
+image = SPRx32.png
+url = http://www.scmmicro.com/security/view_product_en.php?PID=13
+note = You have to upgrade the firmware using version 5.10 or later.
[Teo.txt]
+image = teo.png
+url = http://www.teobyxiring.com/
[TianYu_CCID_SmartKey.txt]
-[Validy_TokenA.txt]
-[Vasco_DP905.txt]
-[Vega-Alpha.txt]
[Verisign_secure_storage_token.txt]
+image = verisign_secure_token.png
+url = http://www.verisign.co.uk/products-services/security-services/unified-authentication/usb-tokens/
[Verisign_secure_token.txt]
-[VMware_Virtual_USB_CCID.txt]
-[Winbond.txt]
-[Xiring_XI-SIGN_6000.txt]
+image = verisign_secure_token.png
[Xiring_XI-SIGN.txt]
+image = Xiring-xi-sign.png
+url = http://www.xiring.com/pageLibre00012c0e.php
Added: website/unsupported.ini
URL: http://svn.debian.org/wsvn/pcsclite/website/unsupported.ini?rev=3343&op=file
==============================================================================
--- website/unsupported.ini (added)
+++ website/unsupported.ini Fri Mar 13 09:55:09 2009
@@ -1,0 +1,38 @@
+; **************************************************************************
+; Broken or partly supported
+; **************************************************************************
+
+[ActivCardV2.txt]
+image = ActivCard.jpg
+url = http://www.activcorp.com/en/products/4_3_2_readers.php
+note = The reader do timeout when a special USB frame is sent from the reader. If the frame size if a multiple of wMaxPacketSize the communication is stopped.
+ Some users report that this reader is in fact a SCR-331 with a different firmware and that you can upgrade its firmware to transform it into a (supported) SCR-331 reader.
+[LTC31.txt]
+image = ltc31.png
+url = "http://www.c3po.es/ltc31.html
+note = The reader works fine with Linux kernel 2.4 but does not with Linux kernel 2.6. The ioctl() syscall returns EINVAL (Invalid argument). The manufacturer is working on a solution.
+[iDream.txt]
+image = THRC2002-2.png
+url = http://www.idream.be/consulter.php?pid=50&tab=2
+note = also known as ID-SMID01 and maybe other commercial names
+ <ul>
+ <li>PPS fails with a Cryptoflex card</li>
+
+ <li>powerup fails with a Setcos card</li>
+ </ul>
+[mIDentity.txt]
+image = kobil_midentity.jpg
+url = http://www.kobil.com/index.php?id=49&type=7
+note = Time requests are not managed correctly and make the firmware fails. This is not a problem unless you use a time-consuming APDU like RSA key generation.
+
+ A new firmware will correct the bug.
+[mIDentityXL.txt]
+image = kobil_midentity.jpg
+url = http://www.kobil.com/index.php?id=49&type=7
+note = Time requests are not managed correctly and make the firmware fails. This is not a problem unless you use a time-consuming APDU like RSA key generation.
+
+ A new firmware will correct the bug.
+[ReinerSCT.txt]
+image = reiner-pinpad.png
+url = http://www.reiner-sct.com/content/view/4/16/
+note = Time requests are not managed and the driver may time out without any response from the reader. This is not a problem unless you use a time-consuming APDU like RSA key generation.
More information about the Pcsclite-cvs-commit
mailing list