-
-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SCM SCL3711 reader seems to be incapable of handling long messages #106
Comments
Please follow https://pcsclite.apdu.fr/#support |
Oh sorry, here is the missing information. Versions:
Platform:
Log:
For me personally this issue is now of low priority because I found a different, working reader. So proceed as you like. |
In the log In
An exchange fails and I have no idea why. You should report the problem to SCM since you are using the SCM driver. |
Alright, thank you for your investigation! I'll see if I manage to contact the driver manufacturer. |
If the USB reader reports an interface name that is not ASCII (or a valid UTF-8) string then bad things can happen. For example the Gemalto IDBridge K3000 token has a strange byte in the iInterface name. iInterface: IDBridge K3000 ?5300029B And PySCard complains with: > ./pySim-read.py -p 0 Using PC/SC reader interface Traceback (most recent call last): File "/tmp/pysim/./pySim-read.py", line 90, in <module> sl.wait_for_card() File "/tmp/pysim/pySim/transport/pcsc.py", line 49, in wait_for_card cr.waitforcard() File "/usr/lib/python3.9/site-packages/smartcard/CardRequest.py", line 69, in waitforcard return self.pcsccardrequest.waitforcard() File "/usr/lib/python3.9/site-packages/smartcard/pcsc/PCSCCardRequest.py", line 137, in waitforcard hresult, newstates = SCardGetStatusChange( File "/usr/lib/python3.9/site-packages/smartcard/scard/scard.py", line 614, in SCardGetStatusChange return _scard.SCardGetStatusChange(hcontext, dwTimeout, readerstatelist) UnicodeEncodeError: 'ascii' codec can't encode character '\uff20' in position 39: ordinal not in range(128) Non ASCII characters are now replaced with '.'. Thanks to Nikolaos Kakouros for the bug report LudovicRousseau/pyscard#106 "Errors when running pysim with Gemalto IDBridge K3000 LudovicRousseau#106"
The SCM SCL3711 USB NFC reader is generally supported well by this software (although it is not listed as compatible), its manufacturer Identiv offers a proprietary driver for integration with pcsc-lite.
When testing this device with a Yubikey 5 NFC and also a Fidesmo card 2.0 - using their respective OTP feature - in combination with the Yubikey Authentication app, I noticed a problem. Although everything works in principle (the Yubikey is recognized and able to function via NFC, and so is the card), there appears to be a limit to the OTP entries that can be read / transmitted. This limit does not exist when using the very same hardware on Android or Windows (even the same reader there).
My suspicions of the SCL3711 not playing nicely with "long messages" (or some other feature I don't know about) is further confirmed by the incapability of
gpg --card-edit
to access the PGP functionality of the Yubikey.I then tested another reader, a SCL011 (again, with a proprietary driver by Identiv), which is marked as "should work" at https://ccid.apdu.fr/ccid/section.html. And it does indeed work, being able to read all the OTP entries off my Yubikey as well as enabling
gpg
to interface the PGP applet.For more information and detailed logs, see my (obsolete) issue on the Yubikey Authentificator repo: Yubico/yubioath-flutter#727
Do you think this limitation stems from the hardware itself and its driver or could this be fixed in pcsc-lite? Thanks for any help.
The text was updated successfully, but these errors were encountered: