diff --git a/frappe/database/mariadb/database.py b/frappe/database/mariadb/database.py index 35bb2335ad..50afa1ded4 100644 --- a/frappe/database/mariadb/database.py +++ b/frappe/database/mariadb/database.py @@ -142,12 +142,19 @@ class MariaDBConnectionUtil: if frappe.conf.local_infile: conn_settings["local_infile"] = frappe.conf.local_infile - if frappe.conf.db_ssl_ca and frappe.conf.db_ssl_cert and frappe.conf.db_ssl_key: - conn_settings["ssl"] = { + # Configure SSL settings + if frappe.conf.db_ssl_ca: + ssl_config = { "ca": frappe.conf.db_ssl_ca, - "cert": frappe.conf.db_ssl_cert, - "key": frappe.conf.db_ssl_key, + "check_hostname": frappe.conf.db_ssl_check_hostname, } + + # Add client certificates for mutual SSL if available + if frappe.conf.db_ssl_cert and frappe.conf.db_ssl_key: + ssl_config.update({"cert": frappe.conf.db_ssl_cert, "key": frappe.conf.db_ssl_key}) + + conn_settings["ssl"] = ssl_config + return conn_settings diff --git a/frappe/database/mariadb/mysqlclient.py b/frappe/database/mariadb/mysqlclient.py index 657f6dbf30..a844720057 100644 --- a/frappe/database/mariadb/mysqlclient.py +++ b/frappe/database/mariadb/mysqlclient.py @@ -143,13 +143,19 @@ class MariaDBConnectionUtil: if frappe.conf.local_infile: conn_settings["local_infile"] = frappe.conf.local_infile - if frappe.conf.db_ssl_ca and frappe.conf.db_ssl_cert and frappe.conf.db_ssl_key: - conn_settings["ssl"] = { + # Configure SSL settings + if frappe.conf.db_ssl_ca: + ssl_config = { "ca": frappe.conf.db_ssl_ca, - "cert": frappe.conf.db_ssl_cert, - "key": frappe.conf.db_ssl_key, + "check_hostname": frappe.conf.db_ssl_check_hostname, } + # Add client certificates for mutual SSL if available + if frappe.conf.db_ssl_cert and frappe.conf.db_ssl_key: + ssl_config.update({"cert": frappe.conf.db_ssl_cert, "key": frappe.conf.db_ssl_key}) + + conn_settings["ssl"] = ssl_config + return conn_settings