Dear all,

This may be a silly question (I am not a real expert in this area), so please tell me (politely!) if it is.... Is there any way that CCID could work with Rainbow iKey3000 USB tokens? Although they are no longer made, we are still using them and others may be as well.

Some background: we have been using them to hold a public key for use with OpenSSH on various flavours of Linux for quite a long time, but I can't get them to work with release candidate 2 of the upcoming openSUSE 11.4 release. After some research I have come to the conclusion that the problem is that we have been relying on OpenCT. openSUSE has moved smartcard support from hald to udev in 11.4, and this, or something else, has broken the communication between pcscd and the OpenCT driver with a message like:

pcscd: dyn_unix.c:81:DYN_GetAddress() IFDHCreateChannelByName: 
/usr/lib/readers/openct-ifd.bundle/Contents/Linux/openct-ifd.so: undefined 
symbol: IFDHCreateChannelByName
pcscd: readerfactory.c:962:RFInitializeReader() Open Port 0x200000 Failed 
(usb:04b9/1300:libusb-1.0:5:10)
pcscd: readerfactory.c:273:RFAddReader() Rainbow iKey 3000 init failed.
pcscd: utils.c:95:CheckForOpenCT() Remove OpenCT and try again

and indeed when I look through the OpenCT sources, IFDHCreateChannelByName is not implemented anywhere. Both the error message itself and posts such as this one from Andreas Jellinghaus:

  http://old.nabble.com/ccid,-pcsclite,-opensc---openct-td19324563.html

seem to suggest that we should switch from OpenCT to CCID, but it doesn't look to me that CCID supports this token. pcscd produces no output at all when it is inserted.

Does anyone know if it is it possible to use these tokens with CCID, or do we have to start looking for a replacement?

The system I have been experimenting on is openSUSE 11.4RC2, with the distro-supplied packages:

pcsc-ccid-1.4.1
pcsc-lite-1.6.6

"/usr/sbin/pcscd --version" gives:

pcsc-lite version 1.6.6.
Copyright (C) 1999-2002 by David Corcoran <[email protected]>.
Copyright (C) 2001-2010 by Ludovic Rousseau <[email protected]>.
Copyright (C) 2003-2004 by Damien Sauveron <[email protected]>.
Report bugs to <[email protected]>.
Enabled features: Linux i686-pc-linux-gnu serial usb libusb 
usbdropdir=/usr/lib/readers ipcdir=/var/run/pcscd configdir=/etc/reader.conf.d

pcscd started as "LIBCCID_ifdLogLevel=0x000F pcscd --foreground --debug --apdu"
does not react at all when the card is inserted.

The "parse -p" output for this device is:

Parsing USB bus/device: 04B9:1300 (bus 5, device 16)
 idVendor:  0x04B9  iManufacturer: ?
 idProduct: 0x1300  iProduct: iKey 3000 Series Token
  Found a CCID/ICCD device at interface 0
 idVendor: 0x04B9
  iManufacturer: ?
 idProduct: 0x1300
  iProduct: iKey 3000 Series Token
 bcdDevice: 1.00 (firmware release?)
 bLength: 9
 bDescriptorType: 4
 bInterfaceNumber: 0
 bAlternateSetting: 0
 bNumEndpoints: 0
  Control only
 bInterfaceClass: 0xFF
  NOT A CCID DEVICE
  Class is 0xFF (proprietary)
 bInterfaceSubClass: 0
 bInterfaceProtocol: 0
  bulk transfer, optional interrupt-IN (CCID)
 iInterface: ?
ccid_usb.c:771:get_ccid_device_descriptor() Extra field has a wrong length: 2

Any comments/hints?
Thanks,
Peter.

--
Peter Keller                                     Tel.: +44 (0)1223 353033
Global Phasing Ltd.,                             Fax.: +44 (0)1223 366889
Sheraton House,
Castle Park,
Cambridge CB3 0AX
United Kingdom
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to