summaryrefslogtreecommitdiffstats
path: root/src/home/homework-fido2.c
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@microsoft.com>2021-04-12 22:06:59 +0200
committerLuca Boccassi <bluca@debian.org>2021-05-07 22:36:27 +0200
commitcde2f8605e0c3842f9a87785dd758f955f2d04ba (patch)
tree26d259cdb23f9ace361340a87d584ab379259fde /src/home/homework-fido2.c
parentcryptsetup: add 'headless' parameter to skip password/pin query (diff)
downloadsystemd-cde2f8605e0c3842f9a87785dd758f955f2d04ba.tar.xz
systemd-cde2f8605e0c3842f9a87785dd758f955f2d04ba.zip
FIDO2: support pin-less LUKS enroll/unlock
Closes: https://github.com/systemd/systemd/issues/19246 Some FIDO2 devices allow the user to choose whether to use a PIN or not and will HMAC with a different secret depending on the choice. Some other devices (or some device-specific configuration) can instead make it mandatory. Allow the cryptenroll user to choose whether to use a PIN or not, but fail immediately if it is a hard requirement. Record the choice in the JSON-encoded LUKS header metadata so that the right set of options can be used on unlock.
Diffstat (limited to 'src/home/homework-fido2.c')
-rw-r--r--src/home/homework-fido2.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/home/homework-fido2.c b/src/home/homework-fido2.c
index 87d301c5b4..818f2a5d16 100644
--- a/src/home/homework-fido2.c
+++ b/src/home/homework-fido2.c
@@ -29,6 +29,7 @@ int fido2_use_token(
salt->credential.id, salt->credential.size,
secret->token_pin,
h->fido2_user_presence_permitted > 0,
+ FIDO2ENROLL_PIN, // FIXME: add a --lock-with-pin parameter like cryptenroll
&hmac,
&hmac_size);
if (r < 0)