[webkit-changes] [WebKit/WebKit] 7be678: [GCrypt] Add refinements and comments for implemen...

Žan Doberšek noreply at github.com
Tue Sep 19 07:37:06 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7be67897ce4defc358d78bbec768fa36245d4a75
      https://github.com/WebKit/WebKit/commit/7be67897ce4defc358d78bbec768fa36245d4a75
  Author: Žan Doberšek <zdobersek at igalia.com>
  Date:   2023-09-19 (Tue, 19 Sep 2023)

  Changed paths:
    M Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp
    M Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp
    M Source/WebCore/crypto/gcrypt/GCryptRFC7748.cpp
    M Source/WebCore/crypto/gcrypt/GCryptRFC7748.h
    M Source/WebCore/crypto/gcrypt/GCryptRFC8032.cpp
    M Source/WebCore/crypto/gcrypt/GCryptRFC8032.h

  Log Message:
  -----------
  [GCrypt] Add refinements and comments for implementations of RFC 7748 and 8032 functionality
https://bugs.webkit.org/show_bug.cgi?id=261730

Reviewed by Javier Fernandez.

For RFC7748 functionality, the X25519 function and the underlying template
now work on spans, allowing other non-Vector objects that are convertible
to spans to be used. That way, the X25519-specific base U value can be
specified as a static array object.

For both RFC7748 and RFC8032 functionality, the implementations are cleaned
up and improved with additional comments describing the work as specified
in the RFCs. Additional error checking is performed for any libgcrypt
operation that might return an error.

* Source/WebCore/crypto/gcrypt/CryptoAlgorithmX25519GCrypt.cpp:
(WebCore::gcryptDerive):
* Source/WebCore/crypto/gcrypt/CryptoKeyOKPGCrypt.cpp:
(WebCore::gcryptGenerateX25519Keys):
(WebCore::CryptoKeyOKP::platformCheckPairedKeys):
(WebCore::CryptoKeyOKP::generateJwkX const):
(): Deleted.
* Source/WebCore/crypto/gcrypt/GCryptRFC7748.cpp:
(WebCore::GCrypt::RFC7748::xImpl):
(WebCore::GCrypt::RFC7748::X25519):
(WebCore::xImpl): Deleted.
(WebCore::X25519): Deleted.
* Source/WebCore/crypto/gcrypt/GCryptRFC7748.h:
* Source/WebCore/crypto/gcrypt/GCryptRFC8032.cpp:
(WebCore::validateEd25519KeyPair):

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




More information about the webkit-changes mailing list