Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d7dfe471d335e81bb13d94c7615eecea097f2b7f
      
https://github.com/WebKit/WebKit/commit/d7dfe471d335e81bb13d94c7615eecea097f2b7f
  Author: nmahendru <nitinmahen...@apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M 
LayoutTests/crypto/subtle/aes-gcm-generate-key-encrypt-decrypt-null-plain-text-expected.txt
    M 
LayoutTests/crypto/subtle/aes-gcm-generate-key-encrypt-decrypt-null-plain-text.html
    M 
LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data-expected.txt
    M 
LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data-tag-length-32-expected.txt
    M 
LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data-tag-length-32.html
    M LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data.html
    M LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-expected.txt
    M 
LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-tagLengths-expected.txt
    M LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-tagLengths.html
    M LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt.html
    M Source/WebCore/SourcesCocoa.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/WebCoreSwift/CryptoKitShim.swift
    M Source/WebCore/crypto/CryptoAlgorithm.cpp
    M Source/WebCore/crypto/CryptoAlgorithm.h
    M Source/WebCore/crypto/SubtleCrypto.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h
    M Source/WebCore/crypto/cocoa/CryptoAlgorithmAESGCMMac.mm
    R Source/WebCore/crypto/cocoa/CryptoAlgorithmAESKWMac.cpp
    A Source/WebCore/crypto/cocoa/CryptoAlgorithmAESKWMac.mm
    M Source/WebCore/crypto/gcrypt/CryptoAlgorithmAESGCMGCrypt.cpp
    M Source/WebCore/crypto/gcrypt/CryptoAlgorithmAESKWGCrypt.cpp
    M Source/WebCore/crypto/openssl/CryptoAlgorithmAESGCMOpenSSL.cpp
    M Source/WebCore/crypto/openssl/CryptoAlgorithmAESKWOpenSSL.cpp
    A Tools/Scripts/swift/.swift-format
    A Tools/Scripts/swift/format

  Log Message:
  -----------
  Adding CryptoKit for AESKW algorithm
rdar://121541112

Reviewed by Alex Christensen.

The only AES algorithm left is AESCTR for which cryptokit
does not have an API. So we will continue to use CommonCrypto.
Also AESGCM decrypt is not added as the decrypt in cryptokit forces
a 16 byte tag but WebCrypto needs support for shorter tags.

We have also added a script to format swift code that will be useful
going forward as we continue to add it to Webkit.
example run:
./Tools/Scripts/swift/format Source/WebCore/WebCoreSwift/CryptoKitShim.swift

We have also reverted the duplicate tests for AESGCM added in this PR:
https://github.com/WebKit/WebKit/pull/22731
Copying tests for all algorithms that we will be using CryptoKit going forward
is not really scalable. Instead we can test using --internal-feature 
cryptoKitEnabled=true.

* 
LayoutTests/crypto/subtle/aes-gcm-generate-key-encrypt-decrypt-null-plain-text-expected.txt:
* 
LayoutTests/crypto/subtle/aes-gcm-generate-key-encrypt-decrypt-null-plain-text.html:
* 
LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data-expected.txt:
* 
LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data-tag-length-32-expected.txt:
* 
LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data-tag-length-32.html:
* LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-additional-data.html:
* LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-expected.txt:
* LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-tagLengths-expected.txt:
* LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt-tagLengths.html:
* LayoutTests/crypto/subtle/aes-gcm-import-key-encrypt.html:
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/WebCoreSwift/CryptoKitShim.swift:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::wrapKey):
(WebCore::CryptoAlgorithm::unwrapKey):
* Source/WebCore/crypto/CryptoAlgorithm.h:
* Source/WebCore/crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::wrapKey):
(WebCore::SubtleCrypto::unwrapKey):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.cpp:
(WebCore::CryptoAlgorithmAESKW::wrapKey):
(WebCore::CryptoAlgorithmAESKW::unwrapKey):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmAESKW.h:
* Source/WebCore/crypto/cocoa/CryptoAlgorithmAESGCMMac.mm:
(WebCore::encryptCryptoKitAESGCM):
* Source/WebCore/crypto/cocoa/CryptoAlgorithmAESKWMac.mm: Renamed from 
Source/WebCore/crypto/cocoa/CryptoAlgorithmAESKWMac.cpp.
(WebCore::wrapKeyAESKWCryptoKit):
(WebCore::unwrapKeyAESKWCryptoKit):
(WebCore::CryptoAlgorithmAESKW::platformWrapKey):
(WebCore::CryptoAlgorithmAESKW::platformUnwrapKey):
* Source/WebCore/crypto/gcrypt/CryptoAlgorithmAESKWGCrypt.cpp:
(WebCore::CryptoAlgorithmAESKW::platformWrapKey):
(WebCore::CryptoAlgorithmAESKW::platformUnwrapKey):
* Source/WebCore/crypto/openssl/CryptoAlgorithmAESKWOpenSSL.cpp:
(WebCore::CryptoAlgorithmAESKW::platformWrapKey):
(WebCore::CryptoAlgorithmAESKW::platformUnwrapKey):
* Tools/Scripts/swift/format: Added.
* Tools/Scripts/swift/.swift-format: Added.

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to