Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8e5527887dcff1ea16f48998e05a3d11086ae563
      
https://github.com/WebKit/WebKit/commit/8e5527887dcff1ea16f48998e05a3d11086ae563
  Author: Nitin Mahendru <[email protected]>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M Source/WebCore/PAL/pal/PALSwift/CryptoKitShim.swift
    M Source/WebCore/PAL/pal/crypto/CryptoDigest.h
    M Source/WebCore/PAL/pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp
    M Source/WebCore/PAL/pal/crypto/gcrypt/CryptoDigestGCrypt.cpp
    M Source/WebCore/PAL/pal/crypto/openssl/CryptoDigestOpenSSL.cpp
    M Source/WebCore/crypto/CryptoAlgorithm.cpp
    M Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA224.cpp

  Log Message:
  -----------
  Add CryptoKit Implementation for create/addBytes/computeHash.
https://bugs.webkit.org/show_bug.cgi?id=278449
rdar://134394086

Reviewed by Alex Christensen.

Earlier implementation was a oneshot API. That does not work well for
cases where multiple spans need to be added for calculating digest.
That also makes it harder to keep on supporting SHA224.

With this change we will keep on supporting SHA224 until we consciously remove 
it.

With this in place, we also delete the oneshot API and use the existing
create/addBytes/computeHash trio everywhere.
Also a minor improvement to SHA224 implementation in that it uses the 
dispatchDigest
utility function.

No new tests are needed as there is no beahavior change.

* Source/WebCore/PAL/pal/PALSwift/CryptoKitShim.swift:
(Digest.ctx):
(Digest.sha1Init):
(Digest.sha256Init):
(Digest.sha384Init):
(Digest.sha512Init):
(Digest.update(_:)):
(Digest.finalize):
* Source/WebCore/PAL/pal/crypto/CryptoDigest.h:
* Source/WebCore/PAL/pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp:
(PAL::createCryptoDigest):
(PAL::CryptoDigest::addBytes):
(PAL::CryptoDigest::computeHash):
* Source/WebCore/PAL/pal/crypto/gcrypt/CryptoDigestGCrypt.cpp:
* Source/WebCore/PAL/pal/crypto/openssl/CryptoDigestOpenSSL.cpp:
* Source/WebCore/crypto/CryptoAlgorithm.cpp:
(WebCore::CryptoAlgorithm::dispatchDigest):
* Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA224.cpp:
(WebCore::CryptoAlgorithmSHA224::digest):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to