1# Tests for SSL connections, only run if mysqld is compiled
2# with support for SSL.
3
4-- source include/have_ssl_communication.inc
5#default is highest available version: TLSv1.2
6--exec $MYSQL --host=localhost --ssl -e "show status like 'ssl_version';"
7# TLSv1.2
8--exec $MYSQL --host=localhost --ssl --tls_version=TLSv1.2 -e "show status like 'ssl_version';"
9# TLSv1.1
10--exec $MYSQL --host=localhost --ssl --tls_version=TLSv1.1 -e "show status like 'ssl_version';"
11# if a gap is between TLS versions, lowest version number should be used (TLS1.1)
12--exec $MYSQL --host=localhost --ssl --tls_version=TLSv1.1,TLSv1.3 -e "show status like 'ssl_version';"
13# TLSv1.3 is not enabled, so TLSv1.2 should be used
14--exec $MYSQL --host=localhost --ssl --tls_version=TLSv1.2,TLSv1.3 -e "show status like 'ssl_version';"
15# Highest TLS version number should be used (TLSv1.2)
16--exec $MYSQL --host=localhost --ssl --tls_version=TLSv1.1,TLSv1.2 -e "show status like 'ssl_version';"
17# Errors:
18# TLS v1.0 is disabled on server, so we should get an error
19--replace_regex /2026 SSL connection error.*/2026 SSL connection error: xxxx/
20--error 1
21--exec $MYSQL --host=localhost --ssl --tls_version=TLSv1.0 -e "show status like 'ssl_version';"
22# finally list available protocols
23--exec $MYSQL --host=localhost --ssl -e "select @@tls_version;"
24
25