1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 22:18:12 +00:00

LibCrypto+LibTLS: Add SECP256r1 support to LibTLS

Add the required methods to SECP256r1 to conform to the EllipticCurve
virtual base class. Using this updated version of SECP256r1, support in
LibTLS is implemented.
This commit is contained in:
Michiel Visser 2022-03-18 10:39:34 +01:00 committed by Ali Mohammad Pur
parent c1b041e761
commit 66d99c83d9
5 changed files with 35 additions and 6 deletions

View file

@ -12,6 +12,7 @@
#include <LibCore/Timer.h>
#include <LibCrypto/ASN1/DER.h>
#include <LibCrypto/Curves/EllipticCurve.h>
#include <LibCrypto/Curves/SECP256r1.h>
#include <LibCrypto/Curves/X25519.h>
#include <LibCrypto/Curves/X448.h>
#include <LibCrypto/PK/Code/EMSA_PKCS1_V1_5.h>
@ -311,6 +312,9 @@ ssize_t TLSv12::handle_ecdhe_rsa_server_key_exchange(ReadonlyBytes buffer)
case NamedCurve::x448:
m_context.server_key_exchange_curve = make<Crypto::Curves::X448>();
break;
case NamedCurve::secp256r1:
m_context.server_key_exchange_curve = make<Crypto::Curves::SECP256r1>();
break;
default:
return (i8)Error::NotUnderstood;
}