Show / Hide Table of Contents

Authenticate the YubiKey to a relying party

Inner command APDU info

CLA INS P1 P2 Lc Data Le
00 02 control byte 00 length data (absent)

The control byte is either 03 (enforce user presence), 07 (check only), or 08 (don't enforce user presence).

The data is

challenge parameter || application parameter || key handle length || key handle

Where the challenge parameter is the client data hash and the application parameter is the hash of the origin data. Each is a SHA-256 message digest so each is 32 byte long. The key handle length is one byte.

Response APDU info

Response APDU for successful authentication

Total Length: 2
Data Length: 0

Data SW1 SW2
encoded response 90 00

where the encoded response is

user presence || counter || signature

Response APDU for user presence required

Total Length: 2
Data Length: 0

Data SW1 SW2
(no data) 69 85

Response APDU for invalid key handle

Total Length: 2
Data Length: 0

Data SW1 SW2
(no data) 6A 80

Response APDU for incorrect data length.

Total Length: 2
Data Length: 0

Data SW1 SW2
(no data) 67 00
  • Improve this Doc
In this article
Back to top Generated by DocFX