Skip to content

Safari partially supports AuthenticatorAttestationResponse.getPublicKey()#29458

Merged
caugner merged 3 commits into
mdn:mainfrom
pilcrowonpaper:authenticatorattestationresponse-getpublickey-safari
Apr 22, 2026
Merged

Safari partially supports AuthenticatorAttestationResponse.getPublicKey()#29458
caugner merged 3 commits into
mdn:mainfrom
pilcrowonpaper:authenticatorattestationresponse-getpublickey-safari

Conversation

@pilcrowonpaper

Copy link
Copy Markdown
Contributor

Summary

Sets Safari's support for AuthenticatorAttestationResponse.getPublicKey() to partial. The Web Authentication API specification (since level 2 where it was first described in) states that user agents MUST support algorithm -7 (ES256), -8 (Ed25519), and -257 (RS256). However, WebKit only supports -7 (ES256) and returns null for the other 2 algorithms.

Test results and supporting details

@github-actions github-actions Bot added data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API size:xs [PR only] 0-6 LoC changed labels Apr 12, 2026
@github-actions

github-actions Bot commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs).

@caugner caugner changed the title Update AuthenticatorAttestationResponse.getPublicKey() support status for Safari Safari partially supports AuthenticatorAttestationResponse.getPublicKey() Apr 17, 2026
Comment thread api/AuthenticatorAttestationResponse.json Outdated
@caugner

caugner commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

@pilcrowonpaper Are you able to confirm whether Chrome and Firefox supports all three algorithm identifiers?

@pilcrowonpaper

Copy link
Copy Markdown
Contributor Author

@caugner From manual testing, both Firefox and Chrome supports -8 (Ed25519). I don't have an authenticator that supports -257 (RS256), but looking at the source code, I believe Firefox supports it (via authenticator-rs). I'm unfortunately having a bit of difficultly confirming it for Chrome/Chromium however.

Co-authored-by: Claas Augner <495429+caugner@users.noreply.github.com>
@pilcrowonpaper

Copy link
Copy Markdown
Contributor Author

@caugner Chromium seems to have a test that checks for all three algorithms so it should support -257 (RS256) as well.

https://source.chromium.org/chromium/chromium/src/+/main:content/browser/webauth/authenticator_impl_unittest.cc;drc=012c80d36f204a02d495bc8786a6b5ae50987a64;l=4113

Comment thread api/AuthenticatorAttestationResponse.json Outdated
@caugner caugner merged commit 1782b90 into mdn:main Apr 22, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API size:xs [PR only] 0-6 LoC changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants