Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Not a Bug
-
1.0.2, 1.0.6
-
None
-
Client:
- Ubuntu Xenial 16.04
- Python3.6
SSL cert creation:
- OpenSSL 1.0.2g
Server version:
- 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04
Python 3.6.11
Description
What I want:
Upgrade MariaDB Connector/Python from version 1.0.1 to any more recent versions.
Problem:
I get an error when using mariadb.connect():
SSL connection error: self signed certificate
|
What I did:
Because of some technical limitations, I have to compile and install MariaDB Connector/Python on a build machine and then move the resulting files to the machine that runs the Python code.
I have been following these instructions:
https://mariadb.com/kb/en/about-mariadb-connector-odbc/#installing-mariadb-connectorodbc-on-debianubuntu
With 1.0.1 I can connect with TLS with this code:
[truncated]
|
ssl = { 'ssl_ca': ca_path } |
|
|
conn = mariadb.connect( |
user = user, |
password = pwd, |
host = host, |
port = port, |
database = db_name, |
ssl = ssl |
)
|
[truncated]
|
With 1.0.2 and above, that code returns this error:
ssl = ssl
|
TypeError: an integer is required (got type dict)
|
This is easily fixable with this code:
conn = mariadb.connect( |
user = user, |
password = pwd, |
host = host, |
port = port, |
database = db_name, |
ssl_ca = ca_path, |
)
|
But then, we get a new error, which is what I need help with:
SSL connection error: self signed certificate
|
I don't know what makes this error show up from version 1.0.1 to 1.0.2, and I can't find relevant information on the internet.
Some additional info:
OpenSSL:
OpenSSL> version
|
OpenSSL 1.0.2g 1 Mar 2016
|
MariaDB SSL vars:
MariaDB [(none)]> SHOW VARIABLES LIKE '%ssl%';
|
+---------------------+------------------------------------------+
|
| Variable_name | Value |
|
+---------------------+------------------------------------------+
|
| have_openssl | NO |
|
| have_ssl | YES |
|
| ssl_ca | /etc/mysql/certificates//ca.pem |
|
| ssl_capath | |
|
| ssl_cert | /etc/mysql/certificates//server-cert.pem |
|
| ssl_cipher | |
|
| ssl_crl | |
|
| ssl_crlpath | |
|
| ssl_key | /etc/mysql/certificates//server-key.pem |
|
| version_ssl_library | YaSSL 2.4.4 |
|
+---------------------+------------------------------------------+
|
10 rows in set (0.00 sec)
|
|
MariaDB [(none)]> show session status like 'ssl_version';
|
+---------------+-------+
|
| Variable_name | Value |
|
+---------------+-------+
|
| Ssl_version | TLSv1 |
|
+---------------+-------+
|
1 row in set (0.00 sec)
|
|
MariaDB [(none)]> show session status like 'ssl_cipher';
|
+---------------+--------------------+
|
| Variable_name | Value |
|
+---------------+--------------------+
|
| Ssl_cipher | DHE-RSA-AES256-SHA |
|
+---------------+--------------------+
|
1 row in set (0.00 sec)
|
|