Hi Justin, the smart card inside should be fine. the problem is the usb part. I guess the current openct driver won't work.
to write a new driver you could help with: a) cat/proc/bus/usb/devices - only the part for those devices, so we can see how they look like / how to identify the hardware. (usualy this is done with vendor and product id, but eutron had several different tokens with the same values in the past making this difficult) b) use windows, install the sniffer (see openct page) and export the resulting log as text file. best if the logs starts with a device being inserted and then some playing around with some tool. note: sometimes it is easy to write new usb drivers. but it can vary a lot, and I'm not sure when to find time for it. also if you want to give it a try, take a look at openct code, the ikey*, etoken or eutron drivers. they are all plain simple: some magic command sequences for initializing the hardware, and then simple usb control transfers for sending / receiving apdus. if eutron kepts the hardware as simple, the driver is only a couple of hours work at most. > 3) Would I want to implement a PC/SC driver, just like Eutron? Or would it > make more sense to do this in OpenCT? well, we started openct, because writing ifdhandler would be 99% of code duplication. look at eutron and etoken driver, both are less than 200 lines. that is maybe 50 or 60 real lines of code, the rest is open brakets, closing brakets, empty lines, etc. > 4) What about the PKCS#11 layer? opensc has a pkcs#11 module: opensc-pkcs11.so. and if starsign is used to initialize the tokens, the result is compatible with opensc. also if opensc is used to initialize them, starsign should be able to use them fine as well. except you need the same software for real changes (add key, add cert etc.), as changes on tokens initialized by other software are limited to change/unblock pin. > 5) The device claims to support PKCS#15. it is not a device issue. it is a software topic. both starsign and opensc implement that standard, thats why our pkcs#11 modules can read/use cards initialized with each others software. > 6) Anyone know about the legality of reverse-engineering protocols like > this? What about using the binary driver as a reference? reverse engineering for compatiblity is 100% legal in germany, I think also in whole europe, and many other countries, maybe even including USA (sure, the license text usualy forbids it, but at least in germany we have a framework called AGBG that sacks 99% of the nonsense in license texts anyway, so we don't care much about wiered clauses in licenses or terms of services). Regards, Andreas _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel