-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fido_cred_verify_self: FIDO_ERR_INVALID_ARGUMENT for windows hello #840
Comments
Hi, Am I understanding it correctly that you're trying to use a built-in authenticator (e.g. a TPM) in conjunction with the From the looks of it, there's no (or an incomplete?) attestation statement returned from Could you please show us the output of
where
It would help us gain more insight into the authenticator. Thanks! |
Hi
that is correct. The output is as follows:
Thanks! |
Oh, Do you have a build of our examples? If so, what happens if you run the
|
I've got libfido2-1.15.0-win.zip only. |
OK! In my virtual Windows 11 box, if I attempt to create a credential using a simulated TPM, I get the same behavior as you. If I run the
Which means that the authenticator replied with I get the exact same behavior in e.g. Chrome when registering with "direct" attestation on https://demo.yubico.com/webauthn-developers -- no attestation statement is returned. We might go ahead and add more debug statements to the Thanks for reporting! |
Using libfido2 with windows://hello results in security key returning no attestation data. This currently fails due to fido_cred_verify_self failing. According to Yubico/libfido2#840 this is not a bug in libfido2, but openssh instead has to skip the verify call if no attestation is given. This fixes the issue by skipping attestation verification during key generation if there is no attestation. Fixes PowerShell/Win32-OpenSSH#2279 and PowerShell/Win32-OpenSSH#2040 Signed-off-by: Michael Braun <[email protected]>
Using libfido2 with windows://hello results in security key returning no attestation data. This currently fails due to fido_cred_verify_self failing. According to Yubico/libfido2#840 this is not a bug in libfido2, but openssh instead has to skip the verify call if no attestation is given. This fixes the issue by skipping attestation verification during key generation if there is no attestation. Fixes PowerShell/Win32-OpenSSH#2040 Signed-off-by: Michael Braun <[email protected]>
What version of libfido2 are you using?
OpenSSH 9.8p1 (for sure) / libfido2 1.15.0 (as far as i can tell)
What operating system are you running?
Windows 11
What application are you using in conjunction with libfido2?
openssh portable
How does the problem manifest itself?
I cannot create an windows hello backed SSH key
Windows Hello says "master key saved successfully", but ssh-keygen subsequently fails:
Is the problem reproducible?
Yes
What are the steps that lead to the problem?
The issue is the attstmt.sig==NULL in the object created.
From the output, this happens in https://github.com/openssh/openssh-portable/blob/V_9_8_P1/sk-usbhid.c#L966 calling https://github.com/Yubico/libfido2/blob/main/src/cred.c#L451
As the verify code hasn't really changed at all, it must be something different.
Does the problem happen with different authenticators?
I've cleared windows hello for my user and recreated it, but the problem persists.
Affects other users as well:
fido2-token -L
The text was updated successfully, but these errors were encountered: