summaryrefslogtreecommitdiff
path: root/src/regress/lib/libssl
diff options
context:
space:
mode:
authortb <>2020-08-10 18:59:47 +0000
committertb <>2020-08-10 18:59:47 +0000
commit5a715e5d56517275cd64092796fb2595209eb962 (patch)
treee71b2891b8ce65ccefec5a7582a532ae6f33f7f4 /src/regress/lib/libssl
parenta91baa573ac5ab1cbde7a2761d1d1da9501f45ec (diff)
downloadopenbsd-5a715e5d56517275cd64092796fb2595209eb962.tar.gz
openbsd-5a715e5d56517275cd64092796fb2595209eb962.tar.bz2
openbsd-5a715e5d56517275cd64092796fb2595209eb962.zip
LibreSSL 3.1.4 - Interoperability and bug fixes for the TLSv1.3 client:
* Improve client certificate selection to allow EC certificates instead of only RSA certificates. * Do not error out if a TLSv1.3 server requests an OCSP response as part of a certificate request. * Fix SSL_shutdown behavior to match the legacy stack. The previous behaviour could cause a hang. * Fix a memory leak and add a missing error check in the handling of the key update message. * Fix a memory leak in tls13_record_layer_set_traffic_key. * Avoid calling freezero with a negative size if a server sends a malformed plaintext of all zeroes. * Ensure that only PSS may be used with RSA in TLSv1.3 in order to avoid using PKCS1-based signatures. * Add the P-521 curve to the list of curves supported by default in the client. This is errata/6.7/019_libssl.patch.sig
Diffstat (limited to 'src/regress/lib/libssl')
-rw-r--r--src/regress/lib/libssl/client/clienttest.c41
-rw-r--r--src/regress/lib/libssl/tlsext/tlsexttest.c21
2 files changed, 32 insertions, 30 deletions
diff --git a/src/regress/lib/libssl/client/clienttest.c b/src/regress/lib/libssl/client/clienttest.c
index e81b83c45e..e8e20c2f8d 100644
--- a/src/regress/lib/libssl/client/clienttest.c
+++ b/src/regress/lib/libssl/client/clienttest.c
@@ -66,21 +66,21 @@ static unsigned char cipher_list_tls10[] = {
66}; 66};
67 67
68static unsigned char client_hello_tls10[] = { 68static unsigned char client_hello_tls10[] = {
69 0x16, 0x03, 0x01, 0x00, 0x71, 0x01, 0x00, 0x00, 69 0x16, 0x03, 0x01, 0x00, 0x73, 0x01, 0x00, 0x00,
70 0x6d, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 70 0x6f, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
71 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 71 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
73 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 73 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xc0, 0x14, 74 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0xc0, 0x14,
75 0xc0, 0x0a, 0x00, 0x39, 0xff, 0x85, 0x00, 0x88, 75 0x00, 0x00, 0x00, 0x00, 0xff, 0x85, 0x00, 0x88,
76 0x00, 0x81, 0x00, 0x35, 0x00, 0x84, 0xc0, 0x13, 76 0x00, 0x81, 0x00, 0x35, 0x00, 0x84, 0xc0, 0x13,
77 0xc0, 0x09, 0x00, 0x33, 0x00, 0x45, 0x00, 0x2f, 77 0xc0, 0x09, 0x00, 0x33, 0x00, 0x45, 0x00, 0x2f,
78 0x00, 0x41, 0xc0, 0x11, 0xc0, 0x07, 0x00, 0x05, 78 0x00, 0x41, 0xc0, 0x11, 0xc0, 0x07, 0x00, 0x05,
79 0x00, 0x04, 0xc0, 0x12, 0xc0, 0x08, 0x00, 0x16, 79 0x00, 0x04, 0xc0, 0x12, 0xc0, 0x08, 0x00, 0x16,
80 0x00, 0x0a, 0x00, 0xff, 0x01, 0x00, 0x00, 0x16, 80 0x00, 0x0a, 0x00, 0xff, 0x01, 0x00, 0x00, 0x18,
81 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0a, 81 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0a,
82 0x00, 0x08, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x17, 82 0x00, 0x0a, 0x00, 0x08, 0x00, 0x1d, 0x00, 0x17,
83 0x00, 0x18, 0x00, 0x23, 0x00, 0x00, 83 0x00, 0x18, 0x00, 0x19, 0x00, 0x23, 0x00, 0x00,
84}; 84};
85 85
86static unsigned char cipher_list_tls11[] = { 86static unsigned char cipher_list_tls11[] = {
@@ -93,8 +93,8 @@ static unsigned char cipher_list_tls11[] = {
93}; 93};
94 94
95static unsigned char client_hello_tls11[] = { 95static unsigned char client_hello_tls11[] = {
96 0x16, 0x03, 0x01, 0x00, 0x71, 0x01, 0x00, 0x00, 96 0x16, 0x03, 0x01, 0x00, 0x73, 0x01, 0x00, 0x00,
97 0x6d, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 97 0x6f, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -104,10 +104,10 @@ static unsigned char client_hello_tls11[] = {
104 0xc0, 0x09, 0x00, 0x33, 0x00, 0x45, 0x00, 0x2f, 104 0xc0, 0x09, 0x00, 0x33, 0x00, 0x45, 0x00, 0x2f,
105 0x00, 0x41, 0xc0, 0x11, 0xc0, 0x07, 0x00, 0x05, 105 0x00, 0x41, 0xc0, 0x11, 0xc0, 0x07, 0x00, 0x05,
106 0x00, 0x04, 0xc0, 0x12, 0xc0, 0x08, 0x00, 0x16, 106 0x00, 0x04, 0xc0, 0x12, 0xc0, 0x08, 0x00, 0x16,
107 0x00, 0x0a, 0x00, 0xff, 0x01, 0x00, 0x00, 0x16, 107 0x00, 0x0a, 0x00, 0xff, 0x01, 0x00, 0x00, 0x18,
108 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0a, 108 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00, 0x00, 0x0a,
109 0x00, 0x08, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x17, 109 0x00, 0x0a, 0x00, 0x08, 0x00, 0x1d, 0x00, 0x17,
110 0x00, 0x18, 0x00, 0x23, 0x00, 0x00, 110 0x00, 0x18, 0x00, 0x19, 0x00, 0x23, 0x00, 0x00,
111}; 111};
112 112
113static unsigned char cipher_list_tls12_aes[] = { 113static unsigned char cipher_list_tls12_aes[] = {
@@ -141,8 +141,8 @@ static unsigned char cipher_list_tls12_chacha[] = {
141}; 141};
142 142
143static unsigned char client_hello_tls12[] = { 143static unsigned char client_hello_tls12[] = {
144 0x16, 0x03, 0x01, 0x00, 0xbb, 0x01, 0x00, 0x00, 144 0x16, 0x03, 0x01, 0x00, 0xbd, 0x01, 0x00, 0x00,
145 0xb7, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 145 0xb9, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -158,13 +158,14 @@ static unsigned char client_hello_tls12[] = {
158 0x00, 0x3c, 0x00, 0x2f, 0x00, 0xba, 0x00, 0x41, 158 0x00, 0x3c, 0x00, 0x2f, 0x00, 0xba, 0x00, 0x41,
159 0xc0, 0x11, 0xc0, 0x07, 0x00, 0x05, 0x00, 0x04, 159 0xc0, 0x11, 0xc0, 0x07, 0x00, 0x05, 0x00, 0x04,
160 0xc0, 0x12, 0xc0, 0x08, 0x00, 0x16, 0x00, 0x0a, 160 0xc0, 0x12, 0xc0, 0x08, 0x00, 0x16, 0x00, 0x0a,
161 0x00, 0xff, 0x01, 0x00, 0x00, 0x32, 0x00, 0x0b, 161 0x00, 0xff, 0x01, 0x00, 0x00, 0x34, 0x00, 0x0b,
162 0x00, 0x02, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x08, 162 0x00, 0x02, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x0a,
163 0x00, 0x06, 0x00, 0x1d, 0x00, 0x17, 0x00, 0x18, 163 0x00, 0x08, 0x00, 0x1d, 0x00, 0x17, 0x00, 0x18,
164 0x00, 0x23, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x18, 164 0x00, 0x19, 0x00, 0x23, 0x00, 0x00, 0x00, 0x0d,
165 0x00, 0x16, 0x08, 0x06, 0x06, 0x01, 0x06, 0x03, 165 0x00, 0x18, 0x00, 0x16, 0x08, 0x06, 0x06, 0x01,
166 0x08, 0x05, 0x05, 0x01, 0x05, 0x03, 0x08, 0x04, 166 0x06, 0x03, 0x08, 0x05, 0x05, 0x01, 0x05, 0x03,
167 0x04, 0x01, 0x04, 0x03, 0x02, 0x01, 0x02, 0x03, 167 0x08, 0x04, 0x04, 0x01, 0x04, 0x03, 0x02, 0x01,
168 0x02, 0x03,
168}; 169};
169 170
170struct client_hello_test { 171struct client_hello_test {
diff --git a/src/regress/lib/libssl/tlsext/tlsexttest.c b/src/regress/lib/libssl/tlsext/tlsexttest.c
index eb8cef7ef5..bfda66fe32 100644
--- a/src/regress/lib/libssl/tlsext/tlsexttest.c
+++ b/src/regress/lib/libssl/tlsext/tlsexttest.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tlsexttest.c,v 1.35 2020/04/17 17:24:03 jsing Exp $ */ 1/* $OpenBSD: tlsexttest.c,v 1.35.2.1 2020/08/10 18:59:47 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2017 Joel Sing <jsing@openbsd.org>
4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org> 4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org>
@@ -470,10 +470,11 @@ test_tlsext_alpn_server(void)
470 */ 470 */
471 471
472static uint8_t tlsext_supportedgroups_client_default[] = { 472static uint8_t tlsext_supportedgroups_client_default[] = {
473 0x00, 0x06, 473 0x00, 0x08,
474 0x00, 0x1d, /* X25519 (29) */ 474 0x00, 0x1d, /* X25519 (29) */
475 0x00, 0x17, /* secp256r1 (23) */ 475 0x00, 0x17, /* secp256r1 (23) */
476 0x00, 0x18 /* secp384r1 (24) */ 476 0x00, 0x18, /* secp384r1 (24) */
477 0x00, 0x19, /* secp521r1 (25) */
477}; 478};
478 479
479static uint16_t tlsext_supportedgroups_client_secp384r1_val[] = { 480static uint16_t tlsext_supportedgroups_client_secp384r1_val[] = {
@@ -2712,13 +2713,13 @@ test_tlsext_srtp_server(void)
2712#endif /* OPENSSL_NO_SRTP */ 2713#endif /* OPENSSL_NO_SRTP */
2713 2714
2714unsigned char tlsext_clienthello_default[] = { 2715unsigned char tlsext_clienthello_default[] = {
2715 0x00, 0x32, 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00, 2716 0x00, 0x34, 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00,
2716 0x00, 0x0a, 0x00, 0x08, 0x00, 0x06, 0x00, 0x1d, 2717 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x08, 0x00, 0x1d,
2717 0x00, 0x17, 0x00, 0x18, 0x00, 0x23, 0x00, 0x00, 2718 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x23,
2718 0x00, 0x0d, 0x00, 0x18, 0x00, 0x16, 0x08, 0x06, 2719 0x00, 0x00, 0x00, 0x0d, 0x00, 0x18, 0x00, 0x16,
2719 0x06, 0x01, 0x06, 0x03, 0x08, 0x05, 0x05, 0x01, 2720 0x08, 0x06, 0x06, 0x01, 0x06, 0x03, 0x08, 0x05,
2720 0x05, 0x03, 0x08, 0x04, 0x04, 0x01, 0x04, 0x03, 2721 0x05, 0x01, 0x05, 0x03, 0x08, 0x04, 0x04, 0x01,
2721 0x02, 0x01, 0x02, 0x03, 2722 0x04, 0x03, 0x02, 0x01, 0x02, 0x03,
2722}; 2723};
2723 2724
2724unsigned char tlsext_clienthello_disabled[] = {}; 2725unsigned char tlsext_clienthello_disabled[] = {};