Changeset 236976 in webkit
- Timestamp:
- Oct 9, 2018 12:32:41 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 10 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r236974 r236976 1 2018-10-09 Jiewen Tan <jiewen_tan@apple.com> 2 3 [WebAuthN] Import CTAP HID message and packet structure from Chromium 4 https://bugs.webkit.org/show_bug.cgi?id=189289 5 <rdar://problem/44120310> 6 7 Reviewed by Brent Fulgham. 8 9 This patch imports CTAP HID message and packet structure: 10 https://fidoalliance.org/specs/fido-v2.0-ps-20170927/fido-client-to-authenticator-protocol-v2.0-ps-20170927.html#message-and-packet-structure 11 from Chromium. With this library, WebKit can now turn binaries into messages that CTAP devices could understand. 12 This patch contains the following Chromium files and modifies them to fit into WebKit: 13 https://cs.chromium.org/chromium/src/device/fido/fido_constants.cc?l=1&rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75 14 https://cs.chromium.org/chromium/src/device/fido/fido_constants.h?l=1&rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75 15 https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_message.cc?l=1&rcl=387f3725de2842e0e6b7175a9b2ed472b0cf781a 16 https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_message.h?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75 17 https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_packet.cc?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75 18 https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_packet.h?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75 19 https://cs.chromium.org/chromium/src/device/fido/hid/fido_hid_message_unittest.cc?rcl=1efcfbeaf4e4cedf58716e1982b5702770571a75 20 21 Covered by API tests. 22 23 * Modules/webauthn/fido/FidoConstants.cpp: Added. 24 (fido::isFidoHidDeviceCommand): 25 * Modules/webauthn/fido/FidoConstants.h: Added. 26 * Modules/webauthn/fido/FidoHidMessage.cpp: Added. 27 (fido::FidoHidMessage::create): 28 (fido::FidoHidMessage::createFromSerializedData): 29 (fido::FidoHidMessage::messageComplete const): 30 (fido::FidoHidMessage::getMessagePayload const): 31 (fido::FidoHidMessage::popNextPacket): 32 (fido::FidoHidMessage::addContinuationPacket): 33 (fido::FidoHidMessage::numPackets const): 34 (fido::FidoHidMessage::FidoHidMessage): 35 * Modules/webauthn/fido/FidoHidMessage.h: Added. 36 * Modules/webauthn/fido/FidoHidPacket.cpp: Added. 37 (fido::FidoHidPacket::FidoHidPacket): 38 (fido::FidoHidInitPacket::createFromSerializedData): 39 (fido::FidoHidInitPacket::FidoHidInitPacket): 40 (fido::FidoHidInitPacket::getSerializedData const): 41 (fido::FidoHidContinuationPacket::createFromSerializedData): 42 (fido::FidoHidContinuationPacket::FidoHidContinuationPacket): 43 (fido::FidoHidContinuationPacket::getSerializedData const): 44 * Modules/webauthn/fido/FidoHidPacket.h: Added. 45 * Modules/webauthn/fido/FidoParsingUtils.cpp: Added. 46 (fido::getInitPacketData): 47 (fido::getContinuationPacketData): 48 * Modules/webauthn/fido/FidoParsingUtils.h: Added. 49 * Sources.txt: 50 * WebCore.xcodeproj/project.pbxproj: 51 1 52 2018-10-09 Carlos Eduardo Ramalho <cadubentzen@gmail.com> 2 53 -
trunk/Source/WebCore/Sources.txt
r236954 r236976 255 255 Modules/webauthn/cbor/CBORValue.cpp 256 256 Modules/webauthn/cbor/CBORWriter.cpp 257 Modules/webauthn/fido/FidoConstants.cpp 258 Modules/webauthn/fido/FidoHidMessage.cpp 259 Modules/webauthn/fido/FidoHidPacket.cpp 260 Modules/webauthn/fido/FidoParsingUtils.cpp 257 261 258 262 Modules/webdatabase/ChangeVersionWrapper.cpp -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r236964 r236976 1766 1766 573489391DAC6B6E00DC0667 /* CryptoAlgorithmParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 573489381DAC6B6D00DC0667 /* CryptoAlgorithmParameters.h */; }; 1767 1767 5739E12F1DAC7F7800E14383 /* JSCryptoAlgorithmParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 5739E12E1DAC7F7800E14383 /* JSCryptoAlgorithmParameters.h */; }; 1768 573F5332216806E10045587A /* FidoHidMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BAF28A2167D303008E954E /* FidoHidMessage.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1769 573F533721680D150045587A /* FidoParsingUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 573F533521680D140045587A /* FidoParsingUtils.h */; }; 1768 1770 574F55E1204F3B23002948C6 /* COSEConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 574F55DC204F3732002948C6 /* COSEConstants.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1769 1771 5750A9751E68D00000705C4A /* CryptoKeyEC.h in Headers */ = {isa = PBXBuildFile; fileRef = 5750A9731E68D00000705C4A /* CryptoKeyEC.h */; }; … … 1788 1790 57B5F8091E5D1A9800F34F90 /* CryptoAlgorithmAesGcmParams.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B5F8081E5D1A9800F34F90 /* CryptoAlgorithmAesGcmParams.h */; }; 1789 1791 57B5F8101E5E2A4E00F34F90 /* JSAesGcmParams.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B5F80B1E5D22DA00F34F90 /* JSAesGcmParams.h */; }; 1792 57BAF28C2167D316008E954E /* FidoConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 578A4C0B2167D29600D08F34 /* FidoConstants.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1793 57BAF28E2167D339008E954E /* FidoHidPacket.h in Headers */ = {isa = PBXBuildFile; fileRef = 578A4C0A2167D29600D08F34 /* FidoHidPacket.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1790 1794 57C7A68C1E56967500C67D71 /* BasicCredential.h in Headers */ = {isa = PBXBuildFile; fileRef = 57C7A68B1E56967500C67D71 /* BasicCredential.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1791 1795 57C7A69F1E57917800C67D71 /* JSBasicCredential.h in Headers */ = {isa = PBXBuildFile; fileRef = 57C7A69D1E57910D00C67D71 /* JSBasicCredential.h */; }; … … 8563 8567 5739E12E1DAC7F7800E14383 /* JSCryptoAlgorithmParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCryptoAlgorithmParameters.h; sourceTree = "<group>"; }; 8564 8568 5739E1301DAC7FD100E14383 /* JSCryptoAlgorithmParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCryptoAlgorithmParameters.cpp; sourceTree = "<group>"; }; 8569 573F533521680D140045587A /* FidoParsingUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FidoParsingUtils.h; sourceTree = "<group>"; }; 8570 573F533621680D150045587A /* FidoParsingUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FidoParsingUtils.cpp; sourceTree = "<group>"; }; 8565 8571 574AC7531DAC367D00E9744C /* CryptoAlgorithmParameters.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CryptoAlgorithmParameters.idl; sourceTree = "<group>"; }; 8566 8572 574D42791D594FF6002CF50E /* GlobalCrypto.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GlobalCrypto.idl; sourceTree = "<group>"; }; … … 8602 8608 5778BD811DA4802C009E3009 /* SubtleCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubtleCrypto.h; sourceTree = "<group>"; }; 8603 8609 5778BD831DA4817B009E3009 /* SubtleCrypto.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SubtleCrypto.cpp; sourceTree = "<group>"; }; 8610 578A4C082167D29500D08F34 /* FidoHidMessage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FidoHidMessage.cpp; sourceTree = "<group>"; }; 8611 578A4C092167D29600D08F34 /* FidoHidPacket.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FidoHidPacket.cpp; sourceTree = "<group>"; }; 8612 578A4C0A2167D29600D08F34 /* FidoHidPacket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FidoHidPacket.h; sourceTree = "<group>"; }; 8613 578A4C0B2167D29600D08F34 /* FidoConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FidoConstants.h; sourceTree = "<group>"; }; 8604 8614 5790996B1ECD23DA00FC0768 /* CryptoAlgorithmRSA_PSS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmRSA_PSS.h; sourceTree = "<group>"; }; 8605 8615 5790996C1ECD23DA00FC0768 /* CryptoAlgorithmRSA_PSS.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmRSA_PSS.cpp; sourceTree = "<group>"; }; … … 8618 8628 57B5F80B1E5D22DA00F34F90 /* JSAesGcmParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAesGcmParams.h; sourceTree = "<group>"; }; 8619 8629 57B5F80D1E5D2F2D00F34F90 /* CryptoAlgorithmAES_GCMMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmAES_GCMMac.cpp; sourceTree = "<group>"; }; 8630 57BAF2872167D2F7008E954E /* FidoConstants.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FidoConstants.cpp; sourceTree = "<group>"; }; 8631 57BAF28A2167D303008E954E /* FidoHidMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FidoHidMessage.h; sourceTree = "<group>"; }; 8620 8632 57C7A6891E56946D00C67D71 /* BasicCredential.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BasicCredential.idl; sourceTree = "<group>"; }; 8621 8633 57C7A68B1E56967500C67D71 /* BasicCredential.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BasicCredential.h; sourceTree = "<group>"; }; … … 18974 18986 sourceTree = "<group>"; 18975 18987 }; 18988 578A4BFA2166AE0000D08F34 /* fido */ = { 18989 isa = PBXGroup; 18990 children = ( 18991 57BAF2872167D2F7008E954E /* FidoConstants.cpp */, 18992 578A4C0B2167D29600D08F34 /* FidoConstants.h */, 18993 578A4C082167D29500D08F34 /* FidoHidMessage.cpp */, 18994 57BAF28A2167D303008E954E /* FidoHidMessage.h */, 18995 578A4C092167D29600D08F34 /* FidoHidPacket.cpp */, 18996 578A4C0A2167D29600D08F34 /* FidoHidPacket.h */, 18997 573F533621680D150045587A /* FidoParsingUtils.cpp */, 18998 573F533521680D140045587A /* FidoParsingUtils.h */, 18999 ); 19000 path = fido; 19001 sourceTree = "<group>"; 19002 }; 18976 19003 57C7A6881E56946D00C67D71 /* credentialmanagement */ = { 18977 19004 isa = PBXGroup; … … 19015 19042 children = ( 19016 19043 57303BB32006C6ED00355965 /* cbor */, 19044 578A4BFA2166AE0000D08F34 /* fido */, 19017 19045 57303C272009B2FC00355965 /* AuthenticatorAssertionResponse.h */, 19018 19046 57303C292009B2FC00355965 /* AuthenticatorAssertionResponse.idl */, … … 28232 28260 FD31609512B026F700C1A359 /* FFTConvolver.h in Headers */, 28233 28261 FD31609712B026F700C1A359 /* FFTFrame.h in Headers */, 28262 57BAF28C2167D316008E954E /* FidoConstants.h in Headers */, 28263 573F5332216806E10045587A /* FidoHidMessage.h in Headers */, 28264 57BAF28E2167D339008E954E /* FidoHidPacket.h in Headers */, 28265 573F533721680D150045587A /* FidoParsingUtils.h in Headers */, 28234 28266 976D6C81122B8A3D001FD1F7 /* File.h in Headers */, 28235 28267 838F86DA1F509E7400E8CFC5 /* FileCallback.h in Headers */, -
trunk/Tools/ChangeLog
r236973 r236976 1 2018-10-09 Jiewen Tan <jiewen_tan@apple.com> 2 3 [WebAuthN] Import CTAP HID message and packet structure from Chromium 4 https://bugs.webkit.org/show_bug.cgi?id=189289 5 <rdar://problem/44120310> 6 7 Reviewed by Brent Fulgham. 8 9 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 10 * TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: Added. 11 (TestWebKitAPI::TEST): 12 1 13 2018-10-09 Chris Dumez <cdumez@apple.com> 2 14 -
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r236964 r236976 258 258 578CBD67204FB2C80083B9F2 /* LocalAuthentication.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 578CBD66204FB2C70083B9F2 /* LocalAuthentication.framework */; }; 259 259 57901FB11CAF142D00ED64F9 /* LoadInvalidURLRequest.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 57901FB01CAF141C00ED64F9 /* LoadInvalidURLRequest.html */; }; 260 579651E7216BFDED006EBFE5 /* FidoHidMessageTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 579651E6216BFD53006EBFE5 /* FidoHidMessageTest.cpp */; }; 260 261 5797FE311EB15A6800B2F4A0 /* NavigationClientDefaultCrypto.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5797FE2F1EB15A5F00B2F4A0 /* NavigationClientDefaultCrypto.cpp */; }; 261 262 5797FE331EB15AB100B2F4A0 /* navigation-client-default-crypto.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 5797FE321EB15A8900B2F4A0 /* navigation-client-default-crypto.html */; }; … … 1564 1565 57901FAE1CAF137100ED64F9 /* LoadInvalidURLRequest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LoadInvalidURLRequest.mm; sourceTree = "<group>"; }; 1565 1566 57901FB01CAF141C00ED64F9 /* LoadInvalidURLRequest.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = LoadInvalidURLRequest.html; sourceTree = "<group>"; }; 1567 579651E6216BFD53006EBFE5 /* FidoHidMessageTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FidoHidMessageTest.cpp; sourceTree = "<group>"; }; 1566 1568 5797FE2F1EB15A5F00B2F4A0 /* NavigationClientDefaultCrypto.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NavigationClientDefaultCrypto.cpp; sourceTree = "<group>"; }; 1567 1569 5797FE321EB15A8900B2F4A0 /* navigation-client-default-crypto.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "navigation-client-default-crypto.html"; sourceTree = "<group>"; }; … … 2529 2531 26F6E1EF1ADC749B00DE696B /* DFAMinimizer.cpp */, 2530 2532 3151180F1DB1ADD500176304 /* ExtendedColor.cpp */, 2533 579651E6216BFD53006EBFE5 /* FidoHidMessageTest.cpp */, 2531 2534 7A32D7491F02151500162C44 /* FileMonitor.cpp */, 2532 2535 41973B5A1AF2286A006C7B36 /* FileSystem.cpp */, … … 3806 3809 315118101DB1AE4000176304 /* ExtendedColor.cpp in Sources */, 3807 3810 7CCE7EF11A411AE600447C4C /* FailedLoad.cpp in Sources */, 3811 579651E7216BFDED006EBFE5 /* FidoHidMessageTest.cpp in Sources */, 3808 3812 7A32D74A1F02151500162C44 /* FileMonitor.cpp in Sources */, 3809 3813 7C83E04F1D0A641800FEBCF3 /* FileSystem.cpp in Sources */,
Note: See TracChangeset
for help on using the changeset viewer.