Add ALPN extension to the server side
CustomizedGitHooks: yes
Change-Id: I6fe1516963e7b5727710872ee91fea7fc51d2776
Signed-off-by: XiaokangQian <xiaokang.qian@arm.com>
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index f507a32..0791823 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -5901,7 +5901,6 @@
# Tests for ALPN extension
-requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "ALPN: none" \
"$P_SRV debug_level=3" \
"$P_CLI debug_level=3" \
@@ -5909,12 +5908,11 @@
-C "client hello, adding alpn extension" \
-S "found alpn extension" \
-C "got an alert message, type: \\[2:120]" \
- -S "server hello, adding alpn extension" \
+ -S "server side, adding alpn extension" \
-C "found alpn extension " \
-C "Application Layer Protocol is" \
-S "Application Layer Protocol is"
-requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "ALPN: client only" \
"$P_SRV debug_level=3" \
"$P_CLI debug_level=3 alpn=abc,1234" \
@@ -5922,12 +5920,11 @@
-c "client hello, adding alpn extension" \
-s "found alpn extension" \
-C "got an alert message, type: \\[2:120]" \
- -S "server hello, adding alpn extension" \
+ -S "server side, adding alpn extension" \
-C "found alpn extension " \
-c "Application Layer Protocol is (none)" \
-S "Application Layer Protocol is"
-requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "ALPN: server only" \
"$P_SRV debug_level=3 alpn=abc,1234" \
"$P_CLI debug_level=3" \
@@ -5935,12 +5932,11 @@
-C "client hello, adding alpn extension" \
-S "found alpn extension" \
-C "got an alert message, type: \\[2:120]" \
- -S "server hello, adding alpn extension" \
+ -S "server side, adding alpn extension" \
-C "found alpn extension " \
-C "Application Layer Protocol is" \
-s "Application Layer Protocol is (none)"
-requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "ALPN: both, common cli1-srv1" \
"$P_SRV debug_level=3 alpn=abc,1234" \
"$P_CLI debug_level=3 alpn=abc,1234" \
@@ -5948,12 +5944,11 @@
-c "client hello, adding alpn extension" \
-s "found alpn extension" \
-C "got an alert message, type: \\[2:120]" \
- -s "server hello, adding alpn extension" \
+ -s "server side, adding alpn extension" \
-c "found alpn extension" \
-c "Application Layer Protocol is abc" \
-s "Application Layer Protocol is abc"
-requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "ALPN: both, common cli2-srv1" \
"$P_SRV debug_level=3 alpn=abc,1234" \
"$P_CLI debug_level=3 alpn=1234,abc" \
@@ -5961,12 +5956,11 @@
-c "client hello, adding alpn extension" \
-s "found alpn extension" \
-C "got an alert message, type: \\[2:120]" \
- -s "server hello, adding alpn extension" \
+ -s "server side, adding alpn extension" \
-c "found alpn extension" \
-c "Application Layer Protocol is abc" \
-s "Application Layer Protocol is abc"
-requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "ALPN: both, common cli1-srv2" \
"$P_SRV debug_level=3 alpn=abc,1234" \
"$P_CLI debug_level=3 alpn=1234,abcde" \
@@ -5974,12 +5968,11 @@
-c "client hello, adding alpn extension" \
-s "found alpn extension" \
-C "got an alert message, type: \\[2:120]" \
- -s "server hello, adding alpn extension" \
+ -s "server side, adding alpn extension" \
-c "found alpn extension" \
-c "Application Layer Protocol is 1234" \
-s "Application Layer Protocol is 1234"
-requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_2
run_test "ALPN: both, no common" \
"$P_SRV debug_level=3 alpn=abc,123" \
"$P_CLI debug_level=3 alpn=1234,abcde" \
@@ -5987,7 +5980,7 @@
-c "client hello, adding alpn extension" \
-s "found alpn extension" \
-c "got an alert message, type: \\[2:120]" \
- -S "server hello, adding alpn extension" \
+ -S "server side, adding alpn extension" \
-C "found alpn extension" \
-C "Application Layer Protocol is 1234" \
-S "Application Layer Protocol is 1234"
@@ -10517,6 +10510,32 @@
-c "HTTP/1.0 200 OK" \
-c "Application Layer Protocol is h2"
+requires_openssl_tls1_3
+requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
+requires_config_enabled MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
+requires_config_enabled MBEDTLS_DEBUG_C
+requires_config_enabled MBEDTLS_SSL_CLI_C
+requires_config_enabled MBEDTLS_SSL_ALPN
+run_test "TLS 1.3: server alpn - openssl" \
+ "$P_SRV debug_level=3 tickets=0 crt_file=data_files/server5.crt key_file=data_files/server5.key force_version=tls13 alpn=h2" \
+ "$O_NEXT_CLI -msg -tls1_3 -no_middlebox -alpn h2" \
+ 0 \
+ -s "server state: MBEDTLS_SSL_HELLO_REQUEST" \
+ -s "server state: MBEDTLS_SSL_SERVER_HELLO" \
+ -s "server state: MBEDTLS_SSL_ENCRYPTED_EXTENSIONS" \
+ -s "server state: MBEDTLS_SSL_CERTIFICATE_REQUEST" \
+ -s "server state: MBEDTLS_SSL_SERVER_CERTIFICATE" \
+ -s "server state: MBEDTLS_SSL_CERTIFICATE_VERIFY" \
+ -s "server state: MBEDTLS_SSL_SERVER_FINISHED" \
+ -s "server state: MBEDTLS_SSL_CLIENT_FINISHED" \
+ -s "server state: MBEDTLS_SSL_HANDSHAKE_WRAPUP" \
+ -s "<= parse client hello" \
+ -s "found alpn extension" \
+ -s "server side, adding alpn extension" \
+ -s "Protocol is TLSv1.3" \
+ -s "HTTP/1.0 200 OK" \
+ -s "Application Layer Protocol is h2"
+
requires_config_enabled MBEDTLS_SSL_PROTO_TLS1_3
requires_config_enabled MBEDTLS_DEBUG_C
requires_config_enabled MBEDTLS_SSL_CLI_C