libtls: Add missing cipher suite and TLS extension constants
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - Encrypt then MAC - Extended master secret - Session ticket and also add missing suites in the unit test.
This commit is contained in:
committed by
Tobias Brunner
parent
d107198fcb
commit
f81c04e9e3
@@ -1,4 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (C) 2020 Pascal Knecht
|
||||||
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
|
*
|
||||||
* Copyright (C) 2014 Martin Willi
|
* Copyright (C) 2014 Martin Willi
|
||||||
* Copyright (C) 2014 revosec AG
|
* Copyright (C) 2014 revosec AG
|
||||||
*
|
*
|
||||||
@@ -170,6 +173,11 @@ START_TEST(test_cipher_names)
|
|||||||
CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256);
|
CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256);
|
||||||
CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256);
|
CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256);
|
||||||
CHECK_NAME(TLS_EMPTY_RENEGOTIATION_INFO_SCSV);
|
CHECK_NAME(TLS_EMPTY_RENEGOTIATION_INFO_SCSV);
|
||||||
|
CHECK_NAME(TLS_AES_128_GCM_SHA256);
|
||||||
|
CHECK_NAME(TLS_AES_256_GCM_SHA384);
|
||||||
|
CHECK_NAME(TLS_CHACHA20_POLY1305_SHA256);
|
||||||
|
CHECK_NAME(TLS_AES_128_CCM_SHA256);
|
||||||
|
CHECK_NAME(TLS_AES_128_CCM_8_SHA256);
|
||||||
CHECK_NAME(TLS_ECDH_ECDSA_WITH_NULL_SHA);
|
CHECK_NAME(TLS_ECDH_ECDSA_WITH_NULL_SHA);
|
||||||
CHECK_NAME(TLS_ECDH_ECDSA_WITH_RC4_128_SHA);
|
CHECK_NAME(TLS_ECDH_ECDSA_WITH_RC4_128_SHA);
|
||||||
CHECK_NAME(TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA);
|
CHECK_NAME(TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA);
|
||||||
@@ -229,6 +237,9 @@ START_TEST(test_cipher_names)
|
|||||||
CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA);
|
CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA);
|
||||||
CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA256);
|
CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA256);
|
||||||
CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA384);
|
CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA384);
|
||||||
|
CHECK_NAME(TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256);
|
||||||
|
CHECK_NAME(TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256);
|
||||||
|
CHECK_NAME(TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256);
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
|||||||
+13
-1
@@ -1,4 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (C) 2020 Pascal Knecht
|
||||||
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
|
*
|
||||||
* Copyright (C) 2010 Martin Willi
|
* Copyright (C) 2010 Martin Willi
|
||||||
* Copyright (C) 2010 revosec AG
|
* Copyright (C) 2010 revosec AG
|
||||||
*
|
*
|
||||||
@@ -101,8 +104,17 @@ ENUM_NEXT(tls_extension_names,
|
|||||||
"client certificate type",
|
"client certificate type",
|
||||||
"server certificate type");
|
"server certificate type");
|
||||||
ENUM_NEXT(tls_extension_names,
|
ENUM_NEXT(tls_extension_names,
|
||||||
TLS_EXT_PRE_SHARED_KEY, TLS_EXT_PSK_KEY_EXCHANGE_MODES,
|
TLS_EXT_ENCRYPT_THEN_MAC, TLS_EXT_EXTENDED_MASTER_SECRET,
|
||||||
TLS_SERVER_CERTIFICATE_TYPE,
|
TLS_SERVER_CERTIFICATE_TYPE,
|
||||||
|
"encrypt-then-mac",
|
||||||
|
"extended master secret");
|
||||||
|
ENUM_NEXT(tls_extension_names,
|
||||||
|
TLS_EXT_SESSION_TICKET, TLS_EXT_SESSION_TICKET,
|
||||||
|
TLS_EXT_EXTENDED_MASTER_SECRET,
|
||||||
|
"session ticket");
|
||||||
|
ENUM_NEXT(tls_extension_names,
|
||||||
|
TLS_EXT_PRE_SHARED_KEY, TLS_EXT_PSK_KEY_EXCHANGE_MODES,
|
||||||
|
TLS_EXT_SESSION_TICKET,
|
||||||
"pre-shared key",
|
"pre-shared key",
|
||||||
"early data",
|
"early data",
|
||||||
"supported versions",
|
"supported versions",
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (C) 2020 Pascal Knecht
|
||||||
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
|
*
|
||||||
* Copyright (C) 2010 Martin Willi
|
* Copyright (C) 2010 Martin Willi
|
||||||
* Copyright (C) 2010 revosec AG
|
* Copyright (C) 2010 revosec AG
|
||||||
*
|
*
|
||||||
@@ -156,6 +159,12 @@ enum tls_extension_t {
|
|||||||
TLS_CLIENT_CERTIFICATE_TYPE = 19,
|
TLS_CLIENT_CERTIFICATE_TYPE = 19,
|
||||||
/** exchange raw public key, server side*/
|
/** exchange raw public key, server side*/
|
||||||
TLS_SERVER_CERTIFICATE_TYPE = 20,
|
TLS_SERVER_CERTIFICATE_TYPE = 20,
|
||||||
|
/** use encrypt-then-MAC security mechanism RFC 7366 */
|
||||||
|
TLS_EXT_ENCRYPT_THEN_MAC = 22,
|
||||||
|
/** bind master secret to handshake data RFC 7627 */
|
||||||
|
TLS_EXT_EXTENDED_MASTER_SECRET = 23,
|
||||||
|
/** session resumption without server-side state RFC 5077 */
|
||||||
|
TLS_EXT_SESSION_TICKET = 35,
|
||||||
/** negotiate identity of the psk **/
|
/** negotiate identity of the psk **/
|
||||||
TLS_EXT_PRE_SHARED_KEY = 41,
|
TLS_EXT_PRE_SHARED_KEY = 41,
|
||||||
/** send data in 0-RTT when psk is used and early data is allowed **/
|
/** send data in 0-RTT when psk is used and early data is allowed **/
|
||||||
|
|||||||
@@ -251,7 +251,14 @@ ENUM_NEXT(tls_cipher_suite_names, TLS_ECDH_ECDSA_WITH_NULL_SHA,
|
|||||||
"TLS_ECDHE_PSK_WITH_NULL_SHA",
|
"TLS_ECDHE_PSK_WITH_NULL_SHA",
|
||||||
"TLS_ECDHE_PSK_WITH_NULL_SHA256",
|
"TLS_ECDHE_PSK_WITH_NULL_SHA256",
|
||||||
"TLS_ECDHE_PSK_WITH_NULL_SHA384");
|
"TLS_ECDHE_PSK_WITH_NULL_SHA384");
|
||||||
ENUM_END(tls_cipher_suite_names, TLS_ECDHE_PSK_WITH_NULL_SHA384);
|
ENUM_NEXT(tls_cipher_suite_names, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
|
||||||
|
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
|
||||||
|
TLS_ECDHE_PSK_WITH_NULL_SHA384,
|
||||||
|
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
|
||||||
|
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
|
||||||
|
"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256");
|
||||||
|
ENUM_END(tls_cipher_suite_names, TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256);
|
||||||
|
|
||||||
|
|
||||||
ENUM(tls_hash_algorithm_names, TLS_HASH_NONE, TLS_HASH_SHA512,
|
ENUM(tls_hash_algorithm_names, TLS_HASH_NONE, TLS_HASH_SHA512,
|
||||||
"NONE",
|
"NONE",
|
||||||
|
|||||||
@@ -260,7 +260,10 @@ enum tls_cipher_suite_t {
|
|||||||
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 0xC038,
|
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 = 0xC038,
|
||||||
TLS_ECDHE_PSK_WITH_NULL_SHA = 0xC039,
|
TLS_ECDHE_PSK_WITH_NULL_SHA = 0xC039,
|
||||||
TLS_ECDHE_PSK_WITH_NULL_SHA256 = 0xC03A,
|
TLS_ECDHE_PSK_WITH_NULL_SHA256 = 0xC03A,
|
||||||
TLS_ECDHE_PSK_WITH_NULL_SHA384 = 0xC03B
|
TLS_ECDHE_PSK_WITH_NULL_SHA384 = 0xC03B,
|
||||||
|
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA8,
|
||||||
|
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCA9,
|
||||||
|
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 0xCCAA,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user