diff options
author | djm@openbsd.org <djm@openbsd.org> | 2021-11-02 23:56:40 +0100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2021-11-03 00:07:23 +0100 |
commit | f3c34df860c4c1ebddacb973954e58167d9dbade (patch) | |
tree | 3d09525139df4ea6022637b15c18fa4cc9aeb985 /ssh-sk.c | |
parent | upstream: sshsig: add tests for signing key validity and (diff) | |
download | openssh-f3c34df860c4c1ebddacb973954e58167d9dbade.tar.xz openssh-f3c34df860c4c1ebddacb973954e58167d9dbade.zip |
upstream: Better handle FIDO keys on tokens that provide user
verification (UV) on the device itself, including biometric keys.
Query the token during key creation to determine whether it supports
on-token UV and, if so, clear the SSH_SK_USER_VERIFICATION_REQD flag
in the key so that ssh(1) doesn't automatically prompty for PIN later.
When making signatures with the key, query the token's capabilities
again and check whether the token is able (right now) to perform user-
verification without a PIN. If it is then the PIN prompt is bypassed
and user verification delegated to the token. If not (e.g. the token
is biometric capable, but no biometric are enrolled), then fall back
to user verification via the usual PIN prompt.
Work by Pedro Martelletto; ok myself and markus@
NB. cranks SSH_SK_VERSION_MAJOR
OpenBSD-Commit-ID: e318a8c258d9833a0b7eb0236cdb68b5143b2f27
Diffstat (limited to 'ssh-sk.c')
-rw-r--r-- | ssh-sk.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-sk.c,v 1.36 2021/10/28 02:54:18 djm Exp $ */ +/* $OpenBSD: ssh-sk.c,v 1.37 2021/11/02 22:56:40 djm Exp $ */ /* * Copyright (c) 2019 Google LLC * @@ -534,7 +534,7 @@ sshsk_enroll(int type, const char *provider_path, const char *device, goto out; } - if ((r = sshsk_key_from_response(alg, application, flags, + if ((r = sshsk_key_from_response(alg, application, resp->flags, resp, &key)) != 0) goto out; |