Project

General

Profile

Feature #12258

Need native CCID driver

Added by Hans Rosenfeld 10 months ago. Updated 8 months ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Hard
Tags:
Gerrit CR:

Description

We need a native driver for USB CCID devices (chip card readers). The primary use case for now is supporting YubiKeys, some models identify as CCID devices with a PIV card permanently inserted.

Initially it will be sufficient to support card readers that use the APDU protocol and offer automatic card parameter negotiation, which will greatly simplify the driver.

#1

Updated by Hans Rosenfeld 10 months ago

Unfinished TPDU=T1 and PPS/parameter negotiation support code can be found here:
https://github.com/hrosenfeld/illumos-gate/tree/ccid-dev

#2

Updated by Hans Rosenfeld 8 months ago

Testing: I've tested this code exhaustively with YubiKeys. There is a set of test programs included that excercise the driver and check various failure modes as well as basic interaction with a YubiKey device. The code has also been in use at Joyent for a few months now.

#3

Updated by Electric Monk 8 months ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit a61ed2ce7a86a4d6428f2a83eb4739fae945447e

commit  a61ed2ce7a86a4d6428f2a83eb4739fae945447e
Author: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Date:   2020-03-27T19:09:43.000Z

    12258 Need native CCID driver
    Contributed by: Robert Mustacchi <rm@joyent.com>
    Reviewed by: John Levon <john.levon@joyent.com>
    Reviewed by: Robert Mustacchi <rm@fingolfin.org>
    Approved by: Garrett D'Amore <garrett@damore.org>

Also available in: Atom PDF