Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 303a79e4d23ddc2a1f8338731882af60ce8dcd96
https://github.com/WebKit/WebKit/commit/303a79e4d23ddc2a1f8338731882af60ce8dcd96
Author: Pascoe <[email protected]>
Date: 2025-12-06 (Sat, 06 Dec 2025)
Changed paths:
M
LayoutTests/http/wpt/webauthn/public-key-credential-get-success-hid.https-expected.txt
M
LayoutTests/http/wpt/webauthn/public-key-credential-get-success-hid.https.html
M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp
M Source/WebCore/Modules/webauthn/WebAuthenticationConstants.h
M Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp
M Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.h
M Source/WebCore/Modules/webauthn/fido/DeviceResponseConverter.cpp
M Source/WebCore/Modules/webauthn/fido/DeviceResponseConverter.h
M Source/WebCore/Modules/webauthn/fido/Pin.cpp
M Source/WebCore/Modules/webauthn/fido/Pin.h
M Source/WebKit/Modules/OSX_Private.modulemap
M Source/WebKit/Modules/iOS_Private.modulemap
M
Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.h
M
Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.mm
M
Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientOutputs.mm
M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
M Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidService.mm
M
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
M Source/WebKit/UIProcess/WebAuthentication/Mock/MockHidService.cpp
M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp
M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.h
M Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp
M Tools/TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm
Log Message:
-----------
[WebAuthn] Adjustments to PRF to match forward declarations and spec
rdar://165935406
https://bugs.webkit.org/show_bug.cgi?id=303653
Reviewed by Brent Fulgham.
This patch is required to match certain internal requirements for
forward declarations. It also fixes some cases where we didn't
meet spec behavior for things like PRF requiring user verification
and evalByCredential.
I had to remove a test that needs to be reworked to accept pin entry,
but verified with physical key.
Tests: Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp
Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm
*
LayoutTests/http/wpt/webauthn/public-key-credential-get-success-hid.https-expected.txt:
*
LayoutTests/http/wpt/webauthn/public-key-credential-get-success-hid.https.html:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp:
(WebCore::AuthenticationExtensionsClientInputs::toCBOR const):
* Source/WebCore/Modules/webauthn/WebAuthenticationConstants.h:
* Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp:
(fido::encodeMakeCredentialRequestAsCBOR):
(fido::encodeGetAssertionRequestAsCBOR):
* Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.h:
* Source/WebCore/Modules/webauthn/fido/DeviceResponseConverter.cpp:
(fido::parseAuthenticatorDataExtensions):
(fido::readCTAPMakeCredentialResponse):
(fido::readCTAPGetAssertionResponse):
* Source/WebCore/Modules/webauthn/fido/DeviceResponseConverter.h:
* Source/WebCore/Modules/webauthn/fido/Pin.cpp:
(fido::pin::HmacSecretRequest::create):
* Source/WebCore/Modules/webauthn/fido/Pin.h:
* Source/WebKit/Modules/OSX_Private.modulemap:
* Source/WebKit/Modules/iOS_Private.modulemap:
* Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientInputs.mm:
(-[_WKAuthenticationExtensionsClientInputs dealloc]):
(-[_WKAuthenticationExtensionsClientInputs copyWithZone:]):
(-[_WKAuthenticationPRFInputValues dealloc]):
(-[_WKAuthenticationPRFInputValues copyWithZone:]):
(-[_WKAuthenticationExtensionsLargeBlobInputs dealloc]):
* Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticationExtensionsClientOutputs.mm:
(-[_WKAuthenticationExtensionsClientOutputs dealloc]):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(authenticationExtensionsClientInputs):
(wkAuthenticationExtensionsClientOutputs):
(wkAuthenticatorAttestationResponse):
(wkAuthenticatorAssertionResponse):
(+[_WKWebAuthenticationPanel
encodeMakeCredentialCommandWithClientDataJSON:options:userVerificationAvailability:authenticatorSupportedExtensions:]):
(+[_WKWebAuthenticationPanel
encodeGetAssertionCommandWithClientDataJSON:options:userVerificationAvailability:authenticatorSupportedExtensions:]):
(+[_WKWebAuthenticationPanel
encodeMakeCredentialCommandWithClientDataHash:options:userVerificationAvailability:authenticatorSupportedExtensions:]):
(+[_WKWebAuthenticationPanel
encodeMakeCredentialCommandWithClientDataHash:options:userVerificationAvailability:authenticatorSupportedCredentialParameters:]):
(+[_WKWebAuthenticationPanel
encodeGetAssertionCommandWithClientDataHash:options:userVerificationAvailability:authenticatorSupportedExtensions:]):
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidService.mm:
(WebKit::CcidService::updateSlots):
*
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
* Source/WebKit/UIProcess/WebAuthentication/Mock/MockHidService.cpp:
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueSilentlyCheckCredentials):
(WebKit::CtapAuthenticator::continueMakeCredentialAfterCheckExcludedCredentials):
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetAssertionAfterCheckAllowCredentials):
(WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::continueGetNextAssertionAfterResponseReceived):
(WebKit::CtapAuthenticator::continueRequestPinAfterGetKeyAgreement):
(WebKit::CtapAuthenticator::prepareHmacSecretParameters):
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.h:
* Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
(TestWebKitAPI::TEST(CTAPRequestTest, TestConstructMakeCredentialRequestParam)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestParamNoUVNoRK)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestParamUVRequiredButNotSupported)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestParamWithPin)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestRKPreferred)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestRKPreferredNotSupported)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestRKDiscouraged)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestWithLargeBlob)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestWithUnsupportedLargeBlob)):
(TestWebKitAPI::TEST(CTAPRequestTest, TestConstructGetAssertionRequest)):
(TestWebKitAPI::TEST(CTAPRequestTest, TestConstructGetAssertionRequestNoUV)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructGetAssertionRequestUVRequiredButNotSupported)):
(TestWebKitAPI::TEST(CTAPRequestTest, TestConstructGetAssertionRequestWithPin)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructGetAssertionRequestLargeBlobRead)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructGetAssertionRequestUnsupportedLargeBlobRead)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructGetAssertionRequestLargeBlobWrite)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructGetAssertionRequestWithHmacSecret)):
(TestWebKitAPI::TEST(CTAPRequestTest,
TestConstructMakeCredentialRequestWithHmacSecret)):
* Tools/TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST(CTAPResponseTest,
TestReadGetAssertionResponseWithHmacSecret)): Deleted.
(TestWebKitAPI::TEST(CTAPResponseTest,
TestReadGetAssertionResponseWithHmacSecret64)): Deleted.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST(WebAuthenticationPanel, MakeCredentialLA)):
(TestWebKitAPI::TEST(WebAuthenticationPanel,
MakeCredentialLAClientDataHashMediation)):
(TestWebKitAPI::TEST(WebAuthenticationPanel, GetAssertionLA)):
(TestWebKitAPI::TEST(WebAuthenticationPanel,
GetAssertionLAClientDataHashMediation)):
Canonical link: https://commits.webkit.org/304064@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications