From 45d55ecacc49c3907a0252a5bffd9bdb7980a0b9 Mon Sep 17 00:00:00 2001 From: DexesTTP Date: Mon, 17 May 2021 21:01:26 +0200 Subject: [PATCH] LibTLS: Move the cipher list to the CipherSuite.h header --- Userland/Libraries/LibTLS/CipherSuite.h | 50 +++++++++++++++++++++++++ Userland/Libraries/LibTLS/TLSv12.h | 40 +------------------- 2 files changed, 51 insertions(+), 39 deletions(-) create mode 100644 Userland/Libraries/LibTLS/CipherSuite.h diff --git a/Userland/Libraries/LibTLS/CipherSuite.h b/Userland/Libraries/LibTLS/CipherSuite.h new file mode 100644 index 0000000000..8f6638ca06 --- /dev/null +++ b/Userland/Libraries/LibTLS/CipherSuite.h @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2020, Ali Mohammad Pur + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +namespace TLS { + +enum class CipherSuite { + Invalid = 0, + AES_128_GCM_SHA256 = 0x1301, + AES_256_GCM_SHA384 = 0x1302, + AES_128_CCM_SHA256 = 0x1304, + AES_128_CCM_8_SHA256 = 0x1305, + + // We support these + RSA_WITH_AES_128_CBC_SHA = 0x002F, + RSA_WITH_AES_256_CBC_SHA = 0x0035, + RSA_WITH_AES_128_CBC_SHA256 = 0x003C, + RSA_WITH_AES_256_CBC_SHA256 = 0x003D, + // TODO + RSA_WITH_AES_128_GCM_SHA256 = 0x009C, + RSA_WITH_AES_256_GCM_SHA384 = 0x009D, +}; + +enum class HashAlgorithm : u8 { + None = 0, + MD5 = 1, + SHA1 = 2, + SHA224 = 3, + SHA256 = 4, + SHA384 = 5, + SHA512 = 6, +}; + +enum class SignatureAlgorithm : u8 { + Anonymous = 0, + RSA = 1, + DSA = 2, + ECDSA = 3, +}; + +struct SignatureAndHashAlgorithm { + HashAlgorithm hash; + SignatureAlgorithm signature; +}; + +} diff --git a/Userland/Libraries/LibTLS/TLSv12.h b/Userland/Libraries/LibTLS/TLSv12.h index b45eff3a69..0d2f6276e1 100644 --- a/Userland/Libraries/LibTLS/TLSv12.h +++ b/Userland/Libraries/LibTLS/TLSv12.h @@ -17,6 +17,7 @@ #include #include #include +#include #include namespace TLS { @@ -41,23 +42,6 @@ inline void print_buffer(const u8* buffer, size_t size) class Socket; -enum class CipherSuite { - Invalid = 0, - AES_128_GCM_SHA256 = 0x1301, - AES_256_GCM_SHA384 = 0x1302, - AES_128_CCM_SHA256 = 0x1304, - AES_128_CCM_8_SHA256 = 0x1305, - - // We support these - RSA_WITH_AES_128_CBC_SHA = 0x002F, - RSA_WITH_AES_256_CBC_SHA = 0x0035, - RSA_WITH_AES_128_CBC_SHA256 = 0x003C, - RSA_WITH_AES_256_CBC_SHA256 = 0x003D, - // TODO - RSA_WITH_AES_128_GCM_SHA256 = 0x009C, - RSA_WITH_AES_256_GCM_SHA384 = 0x009D, -}; - #define ENUMERATE_ALERT_DESCRIPTIONS \ ENUMERATE_ALERT_DESCRIPTION(CloseNotify, 0) \ ENUMERATE_ALERT_DESCRIPTION(UnexpectedMessage, 10) \ @@ -179,28 +163,6 @@ enum ClientVerificationStaus { VerificationNeeded, }; -enum class HashAlgorithm : u8 { - None = 0, - MD5 = 1, - SHA1 = 2, - SHA224 = 3, - SHA256 = 4, - SHA384 = 5, - SHA512 = 6, -}; - -enum class SignatureAlgorithm : u8 { - Anonymous = 0, - RSA = 1, - DSA = 2, - ECDSA = 3, -}; - -struct SignatureAndHashAlgorithm { - HashAlgorithm hash; - SignatureAlgorithm signature; -}; - struct Options { #define OPTION_WITH_DEFAULTS(typ, name, ...) \ static typ default_##name() { return typ { __VA_ARGS__ }; } \