Skip to content

Commit aebf3fd

Browse files
authored
Remove incorrect check for tls1.3 support in tests (#2325)
Some tests used a "is tls1.3 supported?" check which was just a wrapper for "is rsa-pss supported?". However, TLS1.3 can be negotiated without RSA-PSS support by using ECDSA certs instead of RSA certs.
1 parent 3e8e6bb commit aebf3fd

File tree

5 files changed

+16
-22
lines changed

5 files changed

+16
-22
lines changed

tests/unit/s2n_client_extensions_test.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -898,7 +898,7 @@ int main(int argc, char **argv)
898898
}
899899

900900
/* Server and client support the OCSP extension. Test Behavior for TLS 1.3 */
901-
if(s2n_x509_ocsp_stapling_supported() && s2n_is_tls13_supported()) {
901+
if(s2n_x509_ocsp_stapling_supported()) {
902902
struct s2n_connection *client_conn;
903903
struct s2n_connection *server_conn;
904904
struct s2n_config *server_config;
@@ -928,8 +928,8 @@ int main(int argc, char **argv)
928928
EXPECT_SUCCESS(s2n_connections_set_io_pair(client_conn, server_conn, &io_pair));
929929

930930
EXPECT_NOT_NULL(server_config = s2n_config_new());
931-
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_TEST_CERT_CHAIN, cert_chain, S2N_MAX_TEST_PEM_SIZE));
932-
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_TEST_PRIVATE_KEY, private_key, S2N_MAX_TEST_PEM_SIZE));
931+
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_ECDSA_TEST_CERT_CHAIN, cert_chain, S2N_MAX_TEST_PEM_SIZE));
932+
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_ECDSA_TEST_PRIVATE_KEY, private_key, S2N_MAX_TEST_PEM_SIZE));
933933
EXPECT_SUCCESS(s2n_config_add_cert_chain_and_key(server_config, cert_chain, private_key));
934934
EXPECT_SUCCESS(s2n_config_set_extension_data(server_config, S2N_EXTENSION_OCSP_STAPLING,
935935
server_ocsp_status, sizeof(server_ocsp_status)));

tests/unit/s2n_self_talk_nonblocking_test.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ int mock_client(struct s2n_test_io_pair *io_pair, uint8_t *expected_data, uint32
4747
client_config = s2n_config_new();
4848
s2n_config_disable_x509_verification(client_config);
4949
s2n_connection_set_config(client_conn, client_config);
50+
GUARD(s2n_config_set_cipher_preferences(client_config, "test_all"));
5051

5152
s2n_connection_set_io_pair(client_conn, io_pair);
5253

@@ -107,6 +108,7 @@ int mock_client_iov(struct s2n_test_io_pair *io_pair, struct iovec *iov, uint32_
107108
client_config = s2n_config_new();
108109
s2n_config_disable_x509_verification(client_config);
109110
s2n_connection_set_config(client_conn, client_config);
111+
GUARD(s2n_config_set_cipher_preferences(client_config, "test_all"));
110112

111113
s2n_connection_set_io_pair(client_conn, io_pair);
112114

@@ -176,16 +178,14 @@ int test_send(int use_tls13, int use_iov, int prefer_throughput)
176178
struct s2n_cert_chain_and_key *chain_and_key;
177179

178180
EXPECT_NOT_NULL(config = s2n_config_new());
179-
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_TEST_CERT_CHAIN, cert_chain_pem, S2N_MAX_TEST_PEM_SIZE));
180-
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_TEST_PRIVATE_KEY, private_key_pem, S2N_MAX_TEST_PEM_SIZE));
181+
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_ECDSA_TEST_CERT_CHAIN, cert_chain_pem, S2N_MAX_TEST_PEM_SIZE));
182+
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_ECDSA_TEST_PRIVATE_KEY, private_key_pem, S2N_MAX_TEST_PEM_SIZE));
181183
EXPECT_NOT_NULL(chain_and_key = s2n_cert_chain_and_key_new());
182184
EXPECT_SUCCESS(s2n_cert_chain_and_key_load_pem(chain_and_key, cert_chain_pem, private_key_pem));
183185
EXPECT_SUCCESS(s2n_config_add_cert_chain_and_key_to_store(config, chain_and_key));
184186
EXPECT_SUCCESS(s2n_read_test_pem(S2N_DEFAULT_TEST_DHPARAMS, dhparams_pem, S2N_MAX_TEST_PEM_SIZE));
185187
EXPECT_SUCCESS(s2n_config_add_dhparams(config, dhparams_pem));
186-
if (use_tls13) {
187-
EXPECT_SUCCESS(s2n_config_set_cipher_preferences(config, "default_tls13"));
188-
}
188+
GUARD(s2n_config_set_cipher_preferences(config, "test_all"));
189189

190190
/* Get some random data to send/receive */
191191
uint32_t data_size = 0;
@@ -264,6 +264,13 @@ int test_send(int use_tls13, int use_iov, int prefer_throughput)
264264
/* Negotiate the handshake. */
265265
EXPECT_SUCCESS(s2n_negotiate(conn, &blocked));
266266

267+
/* Make sure we negotiated the expected version */
268+
if (use_tls13) {
269+
EXPECT_EQUAL(conn->actual_protocol_version, S2N_TLS13);
270+
} else {
271+
EXPECT_EQUAL(conn->actual_protocol_version, S2N_TLS12);
272+
}
273+
267274
/* Pause the child process by sending it SIGSTP */
268275
EXPECT_SUCCESS(kill(pid, SIGSTOP));
269276

@@ -354,9 +361,6 @@ int main(int argc, char **argv)
354361
EXPECT_NOT_NULL(dhparams_pem = malloc(S2N_MAX_TEST_PEM_SIZE));
355362

356363
for (int use_tls13 = 0; use_tls13 < 2; use_tls13 ++) {
357-
if (use_tls13 && !s2n_is_tls13_supported()) {
358-
continue;
359-
}
360364
for (int use_iovec = 0; use_iovec < 2; use_iovec ++) {
361365
for (int use_throughput = 0; use_throughput < 2; use_throughput ++) {
362366
test_send(use_tls13, use_iovec, use_throughput);

tests/unit/s2n_self_talk_tls13_test.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,6 @@ int main(int argc, char **argv)
107107

108108
BEGIN_TEST();
109109

110-
if (!s2n_is_tls13_supported()) {
111-
END_TEST();
112-
}
113-
114110
EXPECT_SUCCESS(s2n_enable_tls13());
115111

116112
/* Create a pipe */
@@ -134,7 +130,7 @@ int main(int argc, char **argv)
134130

135131
struct s2n_cert_chain_and_key *chain_and_key;
136132
EXPECT_SUCCESS(s2n_test_cert_chain_and_key_new(&chain_and_key,
137-
S2N_DEFAULT_TEST_CERT_CHAIN, S2N_DEFAULT_TEST_PRIVATE_KEY));
133+
S2N_DEFAULT_ECDSA_TEST_CERT_CHAIN, S2N_DEFAULT_ECDSA_TEST_PRIVATE_KEY));
138134

139135
EXPECT_NOT_NULL(config = s2n_config_new());
140136
EXPECT_SUCCESS(s2n_config_set_cipher_preferences(config, "default_tls13"));

tls/s2n_tls13.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@
1818
#include "tls/s2n_tls13.h"
1919
#include "crypto/s2n_rsa_signing.h"
2020

21-
int s2n_is_tls13_supported()
22-
{
23-
return s2n_is_rsa_pss_signing_supported();
24-
}
25-
2621
int s2n_is_tls13_enabled()
2722
{
2823
return s2n_highest_protocol_version == S2N_TLS13;

tls/s2n_tls13.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ extern int s2n_enable_tls13();
3333
/* from RFC: https://tools.ietf.org/html/rfc8446#section-4.1.3*/
3434
extern uint8_t hello_retry_req_random[S2N_TLS_RANDOM_DATA_LEN];
3535

36-
int s2n_is_tls13_supported();
3736
int s2n_is_tls13_enabled();
3837
int s2n_disable_tls13();
3938
bool s2n_is_valid_tls13_cipher(const uint8_t version[2]);

0 commit comments

Comments
 (0)