SmartCard reader "Access denied" while claiming interface with Webusb on chrome -
i developing javascript library perform smart card operations using ccid protocol on chrome webusb api. goes when plug smart card reader on linux , macos, stuck on windows when try claim interface. tried run chrome administrator, disable smart card services / ccid drivers on windows in case claiming interface, nothing it. keep having "failed claim interface: access denied (insufficient permissions)" message. permission problem ? or windows service not aware of blocking access ?
edit: tried on mac, on reader didn't work. after removing specific vendor id / product id ccid driver info.plist, managed make work. suppose same problem happening on windows, ccid driver "blocking" access interface. alternatives ?
the device descriptor:
device descriptor: blength 18 bdescriptortype 1 bcdusb 1.10 bdeviceclass 0 (defined @ interface level) bdevicesubclass 0 bdeviceprotocol 0 bmaxpacketsize0 8 idvendor 0x1a44 vasco data security international idproduct 0x0001 digipass 905 smartcard reader bcddevice 1.02 imanufacturer 1 vasco iproduct 2 dp905v1.1 iserial 0 bnumconfigurations 1 configuration descriptor: blength 9 bdescriptortype 2 wtotallength 93 bnuminterfaces 1 bconfigurationvalue 1 iconfiguration 0 bmattributes 0x80 (bus powered) maxpower 50ma interface descriptor: blength 9 bdescriptortype 4 binterfacenumber 0 balternatesetting 0 bnumendpoints 3 binterfaceclass 11 chip/smartcard binterfacesubclass 0 binterfaceprotocol 0 iinterface 0 chipcard interface descriptor: blength 54 bdescriptortype 33 bcdccid 1.00 nmaxslotindex 0 bvoltagesupport 3 5.0v 3.0v dwprotocols 3 t=0 t=1 dwdefaultclock 3700 dwmaxiumumclock 3700 bnumclocksupported 1 dwdatarate 9946 bps dwmaxdatarate 318280 bps bnumdataratessupp. 53 dwmaxifsd 254 dwsyncprotocols 00000007 2-wire 3-wire i2c dwmechanical 00000000 dwfeatures 000404be auto configuration based on atr auto activation on insert auto voltage selection auto clock change auto baud rate change auto pps made ccid auto ifsd exchange short , extended apdu level exchange dwmaxccidmsglen 272 bclassgetresponse echo bclassenvelope echo wlcdlayout none bpinsupport 0 bmaxccidbusyslots 1 endpoint descriptor: blength 7 bdescriptortype 5 bendpointaddress 0x81 ep 1 in bmattributes 3 transfer type interrupt synch type none usage type data wmaxpacketsize 0x0004 1x 4 bytes binterval 32 endpoint descriptor: blength 7 bdescriptortype 5 bendpointaddress 0x02 ep 2 out bmattributes 2 transfer type bulk synch type none usage type data wmaxpacketsize 0x0010 1x 16 bytes binterval 0 endpoint descriptor: blength 7 bdescriptortype 5 bendpointaddress 0x83 ep 3 in bmattributes 2 transfer type bulk synch type none usage type data wmaxpacketsize 0x0010 1x 16 bytes binterval 0
the insight in edit correct, if ccid driver blocking access device chrome cannot access it. in addition on windows operating system must know load winusb.sys driver (which comes windows) against device or else userspace application such chrome cannot access it. can accomplished using inf file this one or adding microsoft os descriptors device set "compatible id" "winusb".
if building own device latter option preferable provide plug-and-play support users while former still requires manual installation step windows users.
if working existing device have control on windows system then, similar editing info.plist macos driver, can go windows device manager , replace existing driver winusb.sys using inf file above.
Comments
Post a Comment