As an admin, you can deploy smart card support on ChromeOS on managed devices across your organizational unit. If you want your users to use smart cards for sign in on the Login screen, see Set up sign in using smart cards on managed ChromeOS devices.
You can also install smart card apps on your personal, unmanaged device. For more details, see Use Smart Cards on ChromeOS.
Before you begin
- ChromeOS supports only a limited set of smart card scenarios:
- TLS authentication using a smart card connector and middleware.
- Personal Computer Smart Card (PC/SC) driven use cases using a smart card connector and apps such as Citrix.
- Limited SSH support. For details, see Using smart cards and hardware tokens with Secure Shell.
- ChromeOS does not support:
- Other cryptographic operations based on smart cards, for example sign mail within office 365, read encrypted mails and Java applications.
- Smart cards in Android on ChromeOS.
Step 1: Force Install the Smart Card Connector app
You need to automatically install the Smart Card Connector app for users in your organizational unit. For information about how to force-install specific apps, see Automatically install apps and extensions.
Using the Smart Card Connector app you can provide Chromebooks with PC/SC support. This PC/SC API can then be used by other applications such as smart card middleware and Citrix to allow your users to use their smart cards inside a Citrix-provided Microsoft Windows session for example, with browser integration and virtual session redirection.
Note: The Smart Card Connector app tries to automatically detect and work with smart card readers but not all smart card readers are supported. Google only supports smart card readers which are supported by libccid. Readers in the supported and should work categories are expected to work reliably.
For details, see a list of supported smart card readers here.
Step 2: Force Install a smart card middleware app
Next you need to install the middleware app. For information about how to force-install specific apps, see Automatically install apps and extensions.
There are two main middleware apps available:
- CSSI, which is supported by Google.
Note: You can test whether a card is supported by starting the Chrome App and clicking Test now. - CACKey
Note: CACkey only supports CAC cards, PKCS #11 cards, and Yubikeys in PIV mode.
Middleware apps can communicate with smart cards and provide client certificates to authenticate users to HTTPS websites. Google has partnered with DriveLock to provide support on ChromeOS for a wide range of cards and profiles, including CAC (Common Access Card) and PIV (Personal Identity Verification Card) cards.
You can find the DriveLock middleware provider on the Chrome Web Store. See CSSI Smart Card Middleware.
The connector app provides a public API that other middleware apps can also use. To deploy a different middleware, contact support.
Step 3: Push all necessary root and intermediate certificates
Depending on the sites users try to access, you might need to install trust roots and intermediaries on their devices. Identify those certificates and push them to users’ profiles.
For details, see Set up an HTTPS Certificate Authority.
Important: Installing a root certificate on a device is a sensitive operation. Make sure you only install root certificates you obtained and verified from sources you trust.
Step 4: Configure the Smart Card Connector app to auto-allow communication
Apps like Citrix and DriveLock need to contact the Smart Card Connector app to communicate with users’ cards and readers. As cards and readers contain sensitive user information, the connector app show users a permission dialog before granting access to any app.
You can auto-grant permissions in the Admin console. For example, to allowlist the Drivelock app, add the following configuration to the connector app:
{"force_allowed_client_app_ids":{"Value":["haeblkpifdemlfnkogkipmghfcbonief"]}}
For information on installing custom policies for apps and extensions, see Policy for extensions.
Important: Adding these apps to an allowlist potentially provides third parties access to users' personal information such as certificates on a smart card. Make sure you have the appropriate notification and consent flows with users for collecting and sharing their personal information.
Step 5 (Optional): Configure ChromeOS to auto-select certificates for URLs
You can configure ChromeOS to automatically select certain certificates for certain URLs. In the default case, users are presented with a list of certificates that match a certain website.
You can set the Auto Select Certificate For Urls policy to remove that step by pre-matching users’ certificates to certain URL patterns. For more information and example values, see Set Chrome policies for users or browsers.
Users can sign in from any Chromebook with their Google username and password to start using their smart cards. The settings you configured are downloaded and applied. Users can navigate to HTTPS websites and they are prompted to use certificates detected on their smart cards to authenticate them into their remote systems.
Step 6 (Optional): Configure Virtual Desktop Environment
If you're using a virtual desktop environment such as Citrix or VMware, you must configure them to allow smart card access as well as smart card redirection into the virtualized session.
For full configuration instructions see the various vendor sites.
Additional information
Supported smart card readers
The following readers meet Google's requirements. This list is created from the files of the "CCID Free Software driver" open-source project. For details, see copyrights and licensing.
Access IS ePassport Reader
Access IS NFC Smart Module
ACS ACR 38U-CCID
ACS ACR101 ICC Reader
ACS ACR1251 Dual Reader
ACS ACR1252 Dual Reader
ACS ACR1252 Reader
ACS ACR1255U-J1
ACS ACR33 ICC Reader
ACS ACR3901U ICC Reader
ACS ACR39U ICC Reader
ACS APG8201 PINhandy 1
ACS APG8201 USB Reader
ACS CryptoMate (T2)
ACS CryptoMate64
ActivIdentity Activkey_Sim
ActivIdentity USB Reader V3
AK910 CKey
AK910 IDONE
Aktiv Co., ProgramPark Rutoken Magistra
Aktiv PINPad Ex
Aktiv PINPad In
Aktiv Rutoken ECP
Aktiv Rutoken lite
Aktiv Rutoken PINPad 2
Aladdin R.D. JaCarta
Aladdin R.D. JaCarta Flash
Aladdin R.D. JaCarta LT
Aladdin R.D. JaCarta U2F (JC602)
Aladdin R.D. JaCartaReader
Aladdin R.D. JC-WebPass (JC600)
Aladdin R.D. JCR-770
Alcor Link AK9563
Alcor Micro AU9520
Alcor Micro AU9522
Alcor Micro AU9560
ANCUD CCID USB Reader & RNG
appidkey GmbH ID100L-USB-SC-Reader
appidkey GmbH ID50 -USB
appidkey GmbH ID60-USB
ASK-RFID CPL108
Athena ASE IIIe
Athena ASEDrive IIIe Combo Bio PIV
Athena ASEDrive IIIe KB
Athena ASEDrive IIIe KB Bio PIV
Athena IDProtect Key v2
ATMEL AT90SCR050
ATMEL AT90SCR100
ATMEL AT91SC192192CT-USB ICCD reader
ATMEL AT91SO CCID Smart Card Reader
ATMEL AT98SC032CT-USB
ATMEL VaultIC420 Smart Object
ATMEL VaultIC440
AvestUA AvestKey
Avtor SC Reader 371
Avtor SecureToken
Axalto Reflex USB v3
BIFIT ANGARA
BIFIT iBank2Key
BIFIT iToken
BIFIT USB-Token iBank2key
Bit4id CKey4
Bit4id cryptokey
Bit4id Digital DNA Key
Bit4id Digital-DNA Key
Bit4id Digital-DNA Key BT
Bit4id iAM
Bit4id miniLector
Bit4id miniLector AIR EVO
Bit4id miniLector Blue
Bit4id miniLector-s
Bit4id TokenME EVO v2
Bit4id tokenME FIPS v3
Bluink Ltd. Bluink CCID
BLUTRONICS BLUDRIVE II CCID
Broadcom Corp 58200
Broadcom Corp 5880
C3PO KBR36
C3PO LTC31 v2
C3PO LTC32
C3PO LTC36
C3PO TLTC2USB
CASTLES EZCCID Smart Card Reader
CCB eSafeLD
Certgate GmbH AirID 2 USB
Certgate GmbH ONEKEY ID 2 USB
charismathics plug'n'crypt CCID token
Cherry GmbH SmartBoard XX1X
Cherry GmbH SmartBoard XX33
Cherry GmbH SmartBoard XX44
Cherry GmbH SmartTerminal ST-1275
Cherry GmbH SmartTerminal ST-2xxx
Cherry GmbH SmartTerminal XX1X
Cherry GmbH SmartTerminal XX44
Cherry KC 1000 SC
Cherry KC 1000 SC Z
Cherry KC 1000 SC/DI
Cherry KC 1000 SC/DI Z
Cherry Smart Card Reader USB
Cherry Smartcard Keyboard G87-1xx44
Cherry SmartTerminal XX44
Cherry TC 1300
Chicony HP Skylab USB Smartcard Keyboard
Chicony HP USB Smartcard CCID Keyboard JP
Chicony HP USB Smartcard CCID Keyboard KR
Chicony USB Smart Card Keyboard
COVADIS ALYA
COVADIS Auriga
COVADIS VEGA-ALPHA
DC.Ltd DC4 5CCID READER
Dell Dell Smart Card Reader Keyboard
Dell keyboard SK-3106
DUALi DE-620 Combi
DUALi DRAGON NFC READER
eID_R6 001 X8
Elatec TWN4 SmartCard NFC
Elatec TWN4/B1.06/CPF3.05/S1SC1.32/P (Beta 3)
ESMART Token GOST
Eutron Card Reader
Eutron CryptoIdentity CCID
Eutron Digipass 860
Eutron Smart Pocket
Feitian 502-CL
FEITIAN bR301
Feitian bR301
Feitian bR500
Feitian eJAVA Token
Feitian ePass2003
FEITIAN iR301
Feitian R502
Feitian Technologies FT SCR310
Feitian VR504 VHBR Contactless & Contact Card Reader
Free Software Initiative of Japan Gnuk
FT CCID
FT CCID KB
FT ePass2003Auto
FT U2F CCID
FT U2F CCID KB
Fujitsu Keyboard KB100 SCR
Fujitsu Keyboard KB100 SCR eSIG
Fujitsu Siemens Computers SmartCard Keyboard USB 2A
Fujitsu Siemens Computers SmartCard USB 2A
Fujitsu Smartcard Reader D323
FujitsuTechnologySolutions GmbH Keyboard KB SCR2
FujitsuTechnologySolutions GmbH SmartCase KB SCR eSIG
GEMALTO CT1100
Gemalto EZIO CB+
Gemalto Ezio Shield
Gemalto Ezio Shield Branch Reader
Gemalto Ezio Shield Secure Channel
Gemalto Gem e-Seal Pro USB Token
Gemalto GemCore SIM Pro Smart Card Reader
Gemalto GemPC Express
Gemalto Gemplus USB SmartCard Reader 433-Swap
Gemalto Hybrid Smartcard Reader
Gemalto IDBridge K3000
Gemalto PC Twin Reader
Gemalto PDT
Gemalto Prox Dual USB PC Link Reader
Gemalto Prox SU USB PC LinkReader
Gemalto SA .NET Dual
Gemalto Smart Enterprise Guardian Secure USB Device
Gemalto USB GemPCPinpad SmartCard Reader
Gemalto USB Shell Token V2
Gemplus GemCore POS Pro Smart Card Reader
Generic MultiCard Device
Generic USB Smart Card Reader
Generic USB2.0-CRW
Genesys Logic CCID Card Reader
Genesys Logic Combo Card Reader
German Privacy Foundation Crypto Stick v1.2
Giesecke & Devrient GmbH Star Sign Card Token 350 (ICCD)
Giesecke & Devrient GmbH Star Sign Card Token 550 (ICCD)
Giesecke & Devrient GmbH StarSign Crypto USB Token
Giesecke & Devrient GmbH StarSign CUT S
GIS Ltd SmartMouse USB
GoldKey Security PIV Token
HDZB uKeyCI800-K18
Hewlett Packard HP USB Smartcard CCID Keyboard
Hewlett Packard MFP Smart Card Reader
Hewlett-Packard HP lt4112 Gobi 4G Module
HID Global Crescendo Key
HID Global OMNIKEY 3x21 Smart Card Reader
HID Global OMNIKEY 5022 Smart Card Reader
HID Global OMNIKEY 5023 Smart Card Reader
HID Global OMNIKEY 5027CK CCID CONFIG IF
HID Global OMNIKEY 5122 Dual
HID Global OMNIKEY 5122 Smartcard Reader
HID Global OMNIKEY 5422 Smartcard Reader
HID Global OMNIKEY 6121 Smart Card Reader
HID Global veriCLASS Reader
HID OMNIKEY 5025-CL
HID OMNIKEY 5127 CK
HID OMNIKEY 5326 DFR
HID OMNIKEY 5427 CK
Hitachi, Ltd. Hitachi Biometric Reader
Hitachi, Ltd. Hitachi Portable Biometric Reader
id3 Semiconductors CL1356A_HID
id3 Semiconductors CL1356T
Identiv @MAXX ID-1 Smart Card Reader
Identiv @MAXX Light2 token
Identiv CLOUD 2980 F Smart Card Reader
Identiv Identiv uTrust 4701 F Dual Interface Reader
Identiv SCR3500 A Contact Reader
Identiv SCR3500 B Contact Reader
Identiv SCR3500 C Contact Reader
Identiv SCR35xx USB Smart Card Reader
Identiv uTrust 2900 R Smart Card Reader
Identiv uTrust 2910 R Smart Card Reader
Identiv uTrust 2910 R Taglio SC Reader
Identiv uTrust 3512 SAM slot Token
Identiv uTrust 3522 embd SE RFID Token
Identiv uTrust 3700 F CL Reader
Identiv uTrust 3701 F CL Reader
Identive CLOUD 2700 F Smart Card Reader
Identive CLOUD 2700 R Smart Card Reader
Identive Identive CLOUD 4000 F DTC
Identive Identive CLOUD 4500 F Dual Interface Reader
Identive Identive CLOUD 4510 F Contactless + SAM Reader
Identive SCT3522CC token
Identive Technologies Multi-ISO HF Reader - USB
IID AT90S064 CCID READER
IIT E.Key Almaz-1C
IIT E.Key Crystal-1
InfoCert WirelessKey
InfoThink IT-102MU Reader
InfoThink IT-500U Reader
INGENICO Leo
Ingenico WITEO USB Smart Card Reader
Inside Secure AT90SCR050
Inside Secure AT90SCR100
Inside Secure AT90SCR200
INSIDE Secure VaultIC 405 Smart Object
Inside Secure VaultIC 420 Smart Object
Inside Secure VaultIC 440 Smart Object
INSIDE Secure VaultIC 441 Smart Object
Inside Secure VaultIC 460 Smart Object
IonIDe Smartcard Reader
KACST HSID Reader
KACST HSID Reader Dual Storage
KACST HSID Reader Single Storage
Kapsch TrafficCom USB SAM reader
KeyXentic Inc. KX906 Smart Card Reader
Kingtrust Multi-Reader
KOBIL EMV CAP - SecOVID Reader III
KOBIL KAAN Advanced
KOBIL KAAN Base
KOBIL KAAN SIM III
KOBIL Systems IDToken
KOBIL Systems mIDentity 4smart
KOBIL Systems mIDentity 4smart AES
KOBIL Systems mIDentity fullsize
KOBIL Systems mIDentity fullsize AES
KOBIL Systems mIDentity visual
KOBIL Systems Smart Token
KRONEGGER Micro Core Platform
KRONEGGER NFC blue Reader Platform
Ledger Nano S
Lenovo Integrated Smart Card Reader
Lenovo Lenovo USB Smartcard Keyboard
Liteon HP SC Keyboard - Apollo (Liteon)
Liteon HP SC Keyboard - Apollo JP (Liteon)
Liteon HP SC Keyboard - Apollo KR (Liteon)
Macally NFC CCID eNetPad
mCore SCard-Reader
Microchip SEC1110
Microchip SEC1210
MK Technology KeyPass S1
Morpho MSO1350 Fingerprint Sensor & SmartCard Reader
Morpho MSO350/MSO351 Fingerprint Sensor & SmartCard Reader
MSI StarReader SMART
Mulann PVT
MYSMART MySMART PAD V2.0
Neowave Weneo
Nitrokey Nitrokey HSM
Nitrokey Nitrokey Pro
Nitrokey Nitrokey Start
Nitrokey Nitrokey Storage
NTT Communications Corp. SCR3310-NTTCom USB SmartCard Reader
NXP Pegoda 2 N
NXP PN7462AU CCID
NXP PR533
OBERTHUR TECHNOLOGIES ID-ONE TOKEN SLIM v2
OCS ID-One Cosmo Card USB Smart Chip Device
OMNIKEY 5421
OMNIKEY 6321 CLi USB
OMNIKEY AG 3121 USB
OMNIKEY AG 6121 USB mobile
OMNIKEY AG CardMan 3121
OMNIKEY AG CardMan 3621
OMNIKEY AG CardMan 3821
OMNIKEY AG CardMan 5121
OMNIKEY AG CardMan 5125
OMNIKEY AG CardMan 6121
OMNIKEY AG Smart Card Reader
OMNIKEY CardMan 1021
OMNIKEY CardMan 4321
OMNIKEY CardMan 5321
Panasonic Panasonic USB Smart Card Reader 7A-Smart
Philips Semiconductors JCOP41V221
Philips Semiconductors SmartMX Sample
PIVKey T800
Planeta RC700-NFC CCID
Precise Biometrics Sense MC
Raritan D2CIM-DVUSB VM/CCID
Regula RFID Reader
REINER SCT cyberJack go
REINER SCT cyberJack one
REINER SCT cyberJack RFID basis
REINER SCT tanJack Bluetooth
Rocketek RT-SCR1
Route1 MobiKEY Fusion3
SafeNet eToken 5100
SafeNet eToken 5300
SafeNet eToken 7300
SafeTech SafeTouch
SAFETRUST SABRE SCR
SchlumbergerSema SchlumbergerSema Cyberflex Access
SCM Microsystems Inc. HP USB Smartcard Reader
SCM Microsystems Inc. SCL010 Contactless Reader
SCM Microsystems Inc. SCL01x Contactless Reader
SCM Microsystems Inc. SCR 331
SCM Microsystems Inc. SCR 331-DI
SCM Microsystems Inc. SCR 3310
SCM Microsystems Inc. SCR 3311
SCM Microsystems Inc. SCR 335
SCM Microsystems Inc. SCR 355
SCM Microsystems Inc. SCR331-DI USB Smart Card Reader
SCM Microsystems Inc. SCR3310 USB Smart Card Reader
SCM Microsystems Inc. SCR3320 - Smart Card Reader
SCM Microsystems Inc. SCR3340 - ExpressCard54 Smart Card Reader
SCM Microsystems Inc. SCR33x USB Smart Card Reader
SCM Microsystems Inc. SDI010 Smart Card Reader
SCM Microsystems Inc. SDI011 Contactless Reader
SCM Microsystems Inc. SPR 532
Secure Device Solutions DOMINO-Key TWIN
SecuTech SecuTech Token
Sitecom Sitecom USB simcard reader MD-010
Softforum Co., Ltd XecureHSM
SPECINFOSYSTEMS DIAMOND token
SpringCard CrazyWriter
SpringCard CSB6 Basic
SpringCard CSB6 Secure
SpringCard CSB6 Ultimate
SpringCard EasyFinger Standard
SpringCard EasyFinger Ultimate
SpringCard H512 Series
SpringCard H663 Series
SpringCard NFC'Roll
SpringCard Prox'N'Roll
Spyrus Inc PocketVault P-3X
Spyrus Inc Rosetta USB
Spyrus Inc WorkSafe Pro
SYNNIX STD200
Teridian Semiconductors TSC12xxFV.09
THURSBY SOFTWARE TSS-PK1
TianYu CCID Key TianYu CCID SmartKey
Tianyu Smart Card Reader
Todos Argos Mini II
Todos CX00
ubisys 13.56MHz RFID (CCID)
udea MILKO V1.
Unicept GmbH AirID USB
Unicept GmbH AirID USB Dongle
Validy TokenA sl vt
VASCO DIGIPASS 870
VASCO DIGIPASS 875
VASCO DIGIPASS 920
VASCO DIGIPASS KEY 101
VASCO DIGIPASS KEY 200
VASCO DIGIPASS KEY 202
VASCO DIGIPASS KEY 860
VASCO DP855
VASCO DP865
VASCO DP905v1.1
Verisign Secure Storage Token
Verisign Secure Token
VMware Virtual USB CCID
WatchCNPC USB CCID Key
Watchdata USB Key
Watchdata W5181
Winbond CCID SmartCard Controller
XIRING Leo v2
XIRING MyLeo
XIRING XI-SIGN USB V2
Yubico YubiKey CCID
Yubico YubiKey FIDO+CCID
Yubico Yubikey NEO CCID
Yubico Yubikey NEO OTP+CCID
Yubico Yubikey NEO OTP+U2F+CCID
Yubico Yubikey NEO U2F+CCID
Yubico YubiKey OTP+CCID
Yubico YubiKey OTP+FIDO+CCID
ChromeOS not matching certificate on card
There might an issue with configuration of root and intermediary certificates. Make sure that you followed the instructions to set those properly. If it keeps happening, file a bug report with more information.
ChromeOS keeps connection open after card is removed
If a user removes their card, ChromeOS does not end their session with that server. This is working as intended and is also the default behavior for ChromeOS on other platforms. ChromeOS only tries to authenticate again when challenged by the server.
We recommend you set server timeouts that requires the user to sign in again at regular intervals. If you are testing and need to force the user to sign in to the server again, try using an Incognito window, which does not use the previous session and is not retained in subsequent requests.
No UI feedback on wrong PIN
If users enter a wrong PIN, DriveLoc does not tell the user that this has happened. The user needs to navigate to the site to be asked for the PIN again.
Certificates provided are not filtered
All certificates are provided to the system regardless of their type. For example, certificates for email signing are also shown in the list. This might lead to user confusion. You must properly configure certificate auto-selection to avoid confusion in the deployment.
Is your card reader supported?
- Check the list of supported readers here: CCID list.
- Test your smart card reader:
- Sign in to a ChromeOS device.
- Install a Smart Card Connector app.
- Install a CSSI Smart Card Middleware app.
- Plug in the smart card reader.
- The CSSI app should show the following status:
- Reader ready
- Please insert a smart card into your reader
- If your reader is not supported, consider using a compatible reader, such as a Yubikey instead.
Is your smart card type or Yubikey supported?
- Test your smart card or Yubikey:
- Sign in to a ChromeOS device.
- Install a Smart Card Connector app.
- Install a CSSI Smart Card Middleware app.
- Insert your Yubikey into the USB slot or your smart card into the reader.
- The CSSI app should show the following status:
- Ready
- Reader and smart card ready for requests
- If your smart card is not yet supported, contact support.
Note: For Yubikeys, make sure Yubikey slot 9a / authentication is used.
Is your smart card certificate readable and supported?
- Test your smart card or Yubikey:
- Sign in to a ChromeOS device.
- Install a Smart Card Connector app.
- Install a CSSI Smart Card Middleware app.
- Insert your Yubikey into the USB slot or your smart card into the reader. The reader and smart card are ready for requests.
- Press the Test button in the CSSI app.
- The CSSI app should show the following status:
- Signing successful
- A signing operation has been successfully performed
Note: If your smart card is not readable but is supported, check your smart card configuration.
If you run into problems during deployment, you can submit a bug report on the issue. Bug reports must contain:
-
A description of the issue and instructions to reproduce it, preferably including a screencast.
-
The website you are trying to connect to. File separate bug reports for separate websites.
-
System, card, and reader Information.
-
ChromeOS version
-
Type of smart card reader
-
Smart card information—smart card vendor, type, and profile
-
-
Smart Card Connector logs. The screen for the Smart Card Connector has a link at the bottom that allows the user to export the logs. This copies all logs onto the clipboard. Use any text editing app to save those logs and add to the bug report.
-
Middleware app logs. Each middleware app has its own method to extract logs. For example, in the DriveLock app, logs can be extracted from the developer console.
-
Go to chrome://extensions.
-
On the top-right corner, select Developer mode.
-
Scroll to the DriveLock extension and select background page.
-
At the top, select Console.
-
Right click anywhere in the list and select Save as… to export the logs.
-
-
Network logs. Some issues might be related to the way Chrome is handling client connections. On devices with Chrome 85 or later, you can export logs into a zipped .tgz file. For details, read How to collect Chrome device logs.
Note: Because logs can be very verbose, try restricting your log capture to only the scenario that’s causing an issue. For example, don't perform a Google search while you are capturing logs.
When you have completed the bug report, contact support.
Send feedback
If you choose to give us feedback, such as suggestions to improve features, we can act on your feedback.
To send feedback, fill out this ChromeOS smart card feedback form.