[webkit-changes] [WebKit/WebKit] 347b6d: [WebCrypto] Implement the X25519 algorithm

Javier Fernandez Garcia-Boente noreply at github.com
Fri Sep 8 03:01:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 347b6d7cc7de1c10b2659e52da57da5b4e5d2564
      https://github.com/WebKit/WebKit/commit/347b6d7cc7de1c10b2659e52da57da5b4e5d2564
  Author: Javier Fernandez <jfernandez at igalia.com>
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_keys.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_keys.https.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_X25519.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_X25519.https.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_X25519.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_X25519.https.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey_failures_X25519.https.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey_failures_X25519.https.any.worker-expected.txt
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp
    M Source/WebCore/crypto/mac/CryptoAlgorithmRegistryMac.cpp
    A Source/WebCore/crypto/mac/CryptoAlgorithmX25519Cocoa.cpp
    M Source/WebCore/crypto/mac/CryptoKeyOKPCocoa.cpp

  Log Message:
  -----------
  [WebCrypto] Implement the X25519 algorithm
https://bugs.webkit.org/show_bug.cgi?id=258279

Reviewed by Youenn Fablet and Žan Doberšek.

We have already implemented the X25519 algorithm for the GTK+ port in r267602
so this PR implements the same WebCrypto operations for the mac port. With
this change we can consider that the implementation of the X25519 algorithm
is complete now.

It's worth mentioning that this feature has been implemented behind the
'WebCryptoX25519' runtime flag, which as this point is enabled only for
testing purposes.

This PR also completes the work described in the bug 245778 of implementing
the Curve25519 algorithms on the WebCrypto API.

* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_keys.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/cfrg_curves_keys.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_X25519.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_X25519.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_X25519.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_X25519.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey_failures_X25519.https.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/okp_importKey_failures_X25519.https.any.worker-expected.txt:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/crypto/algorithms/CryptoAlgorithmX25519.cpp:
* Source/WebCore/crypto/mac/CryptoAlgorithmRegistryMac.cpp:
(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
* Source/WebCore/crypto/mac/CryptoAlgorithmX25519Cocoa.cpp: Added.
(WebCore::CryptoAlgorithmX25519::platformDeriveBits):
* Source/WebCore/crypto/mac/CryptoKeyOKPCocoa.cpp:
(WebCore::CryptoKeyOKP::isPlatformSupportedCurve):
(WebCore::CryptoKeyOKP::platformGeneratePair):
(WebCore::CryptoKeyOKP::platformCheckPairedKeys):

Canonical link: https://commits.webkit.org/267782@main




More information about the webkit-changes mailing list