Functionality AK-920S Reader / macOS

The Smart Card Reader AK-920S and all our Keyboards with integrated Chip Card Reader contain the chipset Thales/ CR20 and has the USB descriptor identifiers VID=0x08E6 PID=0x3437.

- Thales/Gemalto CR20 driver information for MacOS: o The chipset is called “IDBridge CR20 (Legacy name: GemCore Serial Lite PRO)”. o https://supportportal.gemalto.com/csm/?sys_kb_id=49a176c04f7d0700873b69d181 10c70d&id=kb_article_view&sysparm_rank=1&sysparm_tsqueryId=60716a551b5e9c 50f12064606e4bcb12&sysparm_article=KB0016554 o The Thales/Gemalto driver page states that “Since Mac OS X Yosemite 10.10, no need to install this package as Apple includes a recent version natively. This package comes from the libccid project available at: http://pcsclite.alioth.debian.org/ccid.html “

- macOS version and CCID driver: o In our test we used macOS Catalina (10.15.6) o This macOS contains a generic CCID driver which is derived from the CCID driver release “ccid-1.4.32”: https://github.com/LudovicRousseau/CCID/tree/ccid- 1.4.32 o The CCID driver release supports both Smart Card Readers which can be confirmed in directory /readers. The device is uniquely identified by “idVendor=VID” and “idProduct=PID” a) https://github.com/LudovicRousseau/CCID/blob/ccid- 1.4.32/readers/GemPCTwin.txt o Bottom line: both devices are supported by the USB device class CCID driver which is integrated in our macOS.

- Test under macOS o We have three test possibilities: a) Use application “System information”: Choose “Apple menu” -> select “About This Mac” -> click the “System Report” button and browse to “Software/SmartCards” b) Use a terminal and command “system_profiler” c) Use a terminal and command “pcsctest” o In all three cases we were able to detect both card readers. With option (c) we were able to read the card ATR successfully. o We found that in case of option (a) the macOS is not able to update the “System Report” dynamically when removing one SC-reader and connecting another SC- reader. The user has to close the “System Report” and open it again in order to receive the updated information about the actually connected reader.

Terminal log for “Smart Card Reader AK-920S”: activekey@ActiveKeys-MacBook-Air ~ % system_profiler SPSmartCardsDataType SmartCards:

Readers:

#01: Gemalto PC Twin Reader (no card present)

Reader Drivers:

#01: org.debian.alioth.pcsclite.smartcardccid:1.4.32 (/usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle)

Tokend Drivers:

SmartCard Drivers:

#01: com.twocanoes.Smart-Card-Utility.TCSPIVToken:2.5 (/Applications/Smart Card Utility.app/Contents/PlugIns/TCSPIVToken.appex) #02: com.apple.CryptoTokenKit.pivtoken:1.0 (/System/Library/Frameworks/CryptoTokenKit.framework/PlugIns/pivtoken .appex)

Available SmartCards (keychain):

com.apple.setoken:aks:

Available SmartCards (token):

com.apple.setoken:aks: activekey@ActiveKeys-MacBook-Air ~ % pcsctest

MUSCLE PC/SC Lite Test Program

Testing SCardEstablishContext : Command successful. Testing SCardGetStatusChange Please insert a working reader : Command successful. Testing SCardListReaders : Command successful. Reader 01: Gemalto PC Twin Reader Enter the reader number : 01 Waiting for card insertion : Command successful. Testing SCardConnect : Command successful. Testing SCardStatus : Command successful. Current Reader Name : Gemalto PC Twin Reader Current Reader State : 0x54 Current Reader Protocol : 0x1 Current Reader ATR Size : 25 (0x19) Current Reader ATR Value : 3B FF 96 00 FF 81 31 FE 45 65 63 11 12 61 02 50 00 10 0A 08 04 0F 07 10 A5 Testing SCardDisconnect : Command successful. Testing SCardReleaseContext : Command successful. Testing SCardEstablishContext : Command successful. Testing SCardGetStatusChange Please insert a working reader : Command successful. Testing SCardListReaders : Command successful. Reader 01: Gemalto PC Twin Reader Enter the reader number : ^C activekey@ActiveKeys-MacBook-Air ~ %