[Bug 3748] "webauthn-sk-ecdsa-sha2-nistp256 at openssh.com" signature type not supported from ssh agent
bugzilla-daemon at mindrot.org
bugzilla-daemon at mindrot.org
Sun Jul 13 05:51:37 AEST 2025
https://bugzilla.mindrot.org/show_bug.cgi?id=3748
Jó Ágila Bitsch <jgilab at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #3881|0 |1
is obsolete| |
--- Comment #10 from Jó Ágila Bitsch <jgilab at gmail.com> ---
Comment on attachment 3881
--> https://bugzilla.mindrot.org/attachment.cgi?id=3881
patch for allowing webauthn signatures via ssh agent
>diff --git a/sshkey.c b/sshkey.c
>index 9e31411e2..57a61fd7b 100644
>--- a/sshkey.c
>+++ b/sshkey.c
>@@ -315,6 +315,9 @@ sshkey_match_keyname_to_sigalgs(const char *keyname, const char *sigalgs)
> sigalgs, 0) == 1 ||
> match_pattern_list("rsa-sha2-512-cert-v01 at openssh.com",
> sigalgs, 0) == 1;
>+ } else if (ktype == KEY_ECDSA_SK) {
>+ return match_pattern_list("sk-ecdsa-sha2-nistp256 at openssh.com", sigalgs, 0) == 1 ||
>+ match_pattern_list("webauthn-sk-ecdsa-sha2-nistp256 at openssh.com", sigalgs, 0) == 1;
> } else
> return match_pattern_list(keyname, sigalgs, 0) == 1;
> }
>@@ -2162,17 +2165,14 @@ int
> sshkey_check_sigtype(const u_char *sig, size_t siglen,
> const char *requested_alg)
> {
>- const char *expected_alg;
> char *sigtype = NULL;
> int r;
>
> if (requested_alg == NULL)
> return 0;
>- if ((expected_alg = sshkey_sigalg_by_name(requested_alg)) == NULL)
>- return SSH_ERR_INVALID_ARGUMENT;
> if ((r = sshkey_get_sigtype(sig, siglen, &sigtype)) != 0)
> return r;
>- r = strcmp(expected_alg, sigtype) == 0;
>+ r = sshkey_match_keyname_to_sigalgs(requested_alg, sigtype);
> free(sigtype);
> return r ? 0 : SSH_ERR_SIGN_ALG_UNSUPPORTED;
> }
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
More information about the openssh-bugs
mailing list