1# This test should work in embedded server after we fix mysqltest
2-- source include/not_embedded.inc
3
4if (`SELECT COUNT(*) = 0 FROM information_schema.GLOBAL_VARIABLES
5    WHERE (VARIABLE_NAME ='version_compile_os' AND VARIABLE_VALUE LIKE 'Win%' OR
6    VARIABLE_NAME='have_openssl' AND VARIABLE_VALUE='YES')`)
7{
8  skip Need openssl or Windows;
9}
10
11--echo # Test clients with and without CRL lists
12
13let $ssl_base = --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-verify-server-cert;
14let $ssl_crl = $ssl_base --ssl-crl=$MYSQL_TEST_DIR/std_data/server-cert.crl;
15let $ssl_crlpath = $ssl_base --ssl-crlpath=$MYSQL_TMP_DIR;
16
17# See `openssl x509 -in server-cert.pem -noout -issuer_hash`
18copy_file $MYSQL_TEST_DIR/std_data/server-cert.crl $MYSQL_TMP_DIR/ed1f42db.r0;
19
20--echo ############ Test mysql ##############
21
22--echo # Test mysql connecting to a server with a certificate revoked by -crl
23--replace_result "Server certificate validation failed. The certificate is revoked. Error 0x80092010(CRYPT_E_REVOKED)" "certificate revoked"
24--error 1
25--exec $MYSQL $ssl_crl test -e "SHOW STATUS LIKE 'Ssl_version'" 2>&1
26
27--echo # Test mysql connecting to a server with a certificate revoked by -crlpath
28--replace_result "Server certificate validation failed. The certificate is revoked. Error 0x80092010(CRYPT_E_REVOKED)" "certificate revoked"
29--error 1
30--exec $MYSQL $ssl_crlpath test -e "SHOW STATUS LIKE 'Ssl_version'" 2>&1
31
32
33--echo ############ Test mysqladmin ##############
34let $admin_suffix = --default-character-set=latin1 -S $MASTER_MYSOCK -P $MASTER_MYPORT -u root --password= ping;
35
36--echo # Test mysqladmin connecting to a server with a certificate revoked by -crl
37--replace_regex /.*mysqladmin.*:/mysqladmin:/ /SSL connection error: .*CRYPT_E_REVOKED./SSL connection error: certificate revoked/
38--error 1
39--exec $MYSQLADMIN $ssl_crl $admin_suffix 2>&1
40
41--echo # Test mysqladmin connecting to a server with a certificate revoked by -crlpath
42--replace_regex /.*mysqladmin.*:/mysqladmin:/ /SSL connection error: .*CRYPT_E_REVOKED./SSL connection error: certificate revoked/
43--error 1
44--exec $MYSQLADMIN $ssl_crlpath $admin_suffix 2>&1
45