-
Hello, i tried to create a credential on a FIDO2 token with the hmac-secret extension. I traced it down to the call to the winhello_make_cred function, the hmac-secret extension is set in ctx->opt->Extensions, but is not set in ctx->att->Extensions. Am I missing some step that is required to use the extension with Windows Hello? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 6 replies
-
Which version of webauthn.dll are you using? That can be observed by enabling FIDO_DEBUG and looking for |
Beta Was this translation helpful? Give feedback.
-
Yes, that's what I meant. Thank you for the information. We've reproduced the problem internally and are looking into it. From what we can observe, the authenticator data returned by Windows with only hmac-secret (no credProtect) does not have bit 0x80 set in its flags field, which indicates the absence of hmac-secret. It's unclear why this is happening. Are you able to use hmac-secret with the generated credential (if you ignore the attestation error)? |
Beta Was this translation helpful? Give feedback.
-
Thank you. Could you share the Windows Event logs from when a credential is created? https://support.yubico.com/hc/en-us/articles/4404763857042-How-to-collect-FIDO-WebAuthn-logs has details on how to extract the logs from Event Viewer. |
Beta Was this translation helpful? Give feedback.
-
A short update from our side: we have reproduced the issue with Chrome on Windows and https://webauthntest.identitystandards.io/login.html (i.e. https://github.com/microsoft/webauthntest). As far as we can tell, webauthn.dll appears to be ignoring the hmac-secret extension when enrolling a credential. If you have a chance, please try to reproduce the issue on https://webauthntest.identitystandards.io/login.html as well; that would be a useful data point. I will defer to my colleague @LDVG on next steps. |
Beta Was this translation helpful? Give feedback.
-
Hi, @MiSimon. It would appear that As an aside, note that the authenticator may support the |
Beta Was this translation helpful? Give feedback.
Hi, @MiSimon.
It would appear that
webauthn.dll
mandates a request to create a discoverable/resident credential to also pass through the request for thehmac-secret
extension. Does it work for you if you also setfido_cred_set_rk(cred, FIDO_OPT_TRUE)
?As an aside, note that the authenticator may support the
hmac-secret
extension when getting an assertion regardless of whether it was requested when the credential was created, as suggested by the CTAP2 specification.