1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-07 09:17:36 +00:00
serenity/Userland/Libraries/LibTLS
Michiel Visser 7ab4337721 LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support
This adds support for the Elliptic Curve Diffie-Hellman Ephemeral key
exchange, using the X25519 elliptic curve. This means that the
ECDHE_RSA_WITH_AES_128_GCM_SHA256 and ECDHE_RSA_WITH_AES_256_GCM_SHA384
cipher suites are now supported.

Currently, only the X25519 elliptic curve is supported in combination
with the uncompressed elliptic curve point format. However, since the
X25519 is the recommended curve, basically every server supports this.
Furthermore, the uncompressed point format is required by the TLS
specification, which means any server with EC support will support the
uncompressed format.

Like the implementation of the normal Diffie-Hellman Ephemeral key
exchange, this implementation does not currently validate the signature
of the public key sent by the server.
2022-02-18 15:41:41 +03:30
..
Certificate.cpp LibTLS: Add SHA-384 as supported certificate signing algorithm 2022-02-13 21:02:58 +03:30
Certificate.h LibTLS: Add SHA-384 as supported certificate signing algorithm 2022-02-13 21:02:58 +03:30
CipherSuite.h LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support 2022-02-18 15:41:41 +03:30
CMakeLists.txt LibTLS: Rework method names and arrangement in cpp files 2021-05-19 09:18:45 +02:00
Handshake.cpp LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support 2022-02-18 15:41:41 +03:30
HandshakeCertificate.cpp LibTLS: Rework method names and arrangement in cpp files 2021-05-19 09:18:45 +02:00
HandshakeClient.cpp LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support 2022-02-18 15:41:41 +03:30
HandshakeServer.cpp LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support 2022-02-18 15:41:41 +03:30
Record.cpp Userland: Convert TLS::TLSv12 to a Core::Stream::Socket 2022-02-06 13:10:10 +01:00
Socket.cpp Userland: Convert TLS::TLSv12 to a Core::Stream::Socket 2022-02-06 13:10:10 +01:00
TLSPacketBuilder.h Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
TLSv12.cpp LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods 2022-02-16 19:49:41 -05:00
TLSv12.h LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support 2022-02-18 15:41:41 +03:30