Add tests for enforced extended master secret flag
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index da89642..b87a684 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -1763,7 +1763,38 @@
# Tests for Extended Master Secret extension
-run_test "Extended Master Secret: default" \
+run_test "Extended Master Secret enforced: default" \
+ "$P_SRV debug_level=3 enforce_extended_master_secret=1" \
+ "$P_CLI debug_level=3 enforce_extended_master_secret=1" \
+ 0 \
+ -c "client hello, adding extended_master_secret extension" \
+ -s "found extended master secret extension" \
+ -s "server hello, adding extended master secret extension" \
+ -c "found extended_master_secret extension" \
+ -c "session hash for extended master secret" \
+ -s "session hash for extended master secret"
+
+run_test "Extended Master Secret enforced: client enabled, server disabled" \
+ "$P_SRV debug_level=3 extended_ms=0 enforce_extended_master_secret=1" \
+ "$P_CLI debug_level=3 extended_ms=1 enforce_extended_master_secret=1" \
+ 1 \
+ -c "client hello, adding extended_master_secret extension" \
+ -s "found extended master secret extension" \
+ -S "server hello, adding extended master secret extension" \
+ -C "found extended_master_secret extension" \
+ -c "Peer not offering extended master secret, while it is enforced"
+
+run_test "Extended Master Secret enforced: client disabled, server enabled" \
+ "$P_SRV debug_level=3 extended_ms=1 enforce_extended_master_secret=1" \
+ "$P_CLI debug_level=3 extended_ms=0 enforce_extended_master_secret=1" \
+ 1 \
+ -C "client hello, adding extended_master_secret extension" \
+ -S "found extended master secret extension" \
+ -S "server hello, adding extended master secret extension" \
+ -C "found extended_master_secret extension" \
+ -s "Peer not offering extended master secret, while it is enforced"
+
+run_test "Extended Master Secret not enforced: default" \
"$P_SRV debug_level=3" \
"$P_CLI debug_level=3" \
0 \
@@ -1774,7 +1805,7 @@
-c "session hash for extended master secret" \
-s "session hash for extended master secret"
-run_test "Extended Master Secret: client enabled, server disabled" \
+run_test "Extended Master Secret not enforced: client enabled, server disabled" \
"$P_SRV debug_level=3 extended_ms=0" \
"$P_CLI debug_level=3 extended_ms=1" \
0 \
@@ -1785,7 +1816,7 @@
-C "session hash for extended master secret" \
-S "session hash for extended master secret"
-run_test "Extended Master Secret: client disabled, server enabled" \
+run_test "Extended Master Secret not enforced: client disabled, server enabled" \
"$P_SRV debug_level=3 extended_ms=1" \
"$P_CLI debug_level=3 extended_ms=0" \
0 \