Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4ad382e777def610a6a4c6b079722b85bb042176
https://github.com/WebKit/WebKit/commit/4ad382e777def610a6a4c6b079722b85bb042176
Author: J Pascoe <[email protected]>
Date: 2022-12-16 (Fri, 16 Dec 2022)
Changed paths:
M
LayoutTests/http/wpt/webauthn/public-key-credential-create-failure-hid.https-expected.txt
M
LayoutTests/http/wpt/webauthn/public-key-credential-create-failure-hid.https.html
M
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt
M
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html
M
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt
M
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-nfc.https.html
M LayoutTests/http/wpt/webauthn/resources/util.js
M Source/WebCore/Modules/webauthn/fido/AuthenticatorGetInfoResponse.cpp
M Source/WebCore/Modules/webauthn/fido/AuthenticatorGetInfoResponse.h
M Source/WebCore/Modules/webauthn/fido/DeviceResponseConverter.cpp
M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h
M
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm
M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationFlags.h
M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp
M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.h
Log Message:
-----------
[WebAuthn] Handle security keys with a full key store
https://bugs.webkit.org/show_bug.cgi?id=247339
rdar://100241655
Reviewed by Brent Fulgham.
*
LayoutTests/http/wpt/webauthn/public-key-credential-create-failure-hid.https-expected.txt:
*
LayoutTests/http/wpt/webauthn/public-key-credential-create-failure-hid.https.html:
*
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
*
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-local.https-expected.txt:
*
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt:
*
LayoutTests/http/wpt/webauthn/public-key-credential-create-success-nfc.https.html:
* LayoutTests/http/wpt/webauthn/resources/util.js:
* Source/WebCore/Modules/webauthn/fido/AuthenticatorGetInfoResponse.cpp:
(fido::encodeAsCBOR):
* Source/WebCore/Modules/webauthn/fido/AuthenticatorGetInfoResponse.h:
* Source/WebCore/Modules/webauthn/fido/DeviceResponseConverter.cpp:
(fido::readCTAPGetInfoResponse):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
*
Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.mm:
(WebKit::AuthenticatorPresenterCoordinator::updatePresenter):
*
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::wkWebAuthenticationPanelUpdate):
* Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationFlags.h:
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.h:
Whenever security keys are unable to create a credential due to their internal
key storage being full
they return the kCtap2ErrKeyStoreFull error code. In this case we should either
retry the registeration
without a discoverable credential if the preference was set to preferred,
otherwise surface an error to the
user notifying them they need to use a different key or clear space on the
current key.
This patch fixes this by handling the kCtap2ErrKeyStoreFull error case. For
security keys supporting the CTAP 2.1
standard, this patch also adds support for reading the
"remainingDiscoverableCredentials" value from getInfo to detect
if the key store is full without having to first attempt a create.
Added layout tests for new functionality.
Canonical link: https://commits.webkit.org/257989@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes