mysql\_ssl\_set(3) MariaDB Connector/C mysql\_ssl\_set(3)

## [Name](#Name)

mysql\_ssl\_set - Sets TLS/SSL options

## [Synopsis](#Synopsis)

```
#include <mysql.h>
my_bool mysql_ssl_set(MYSQL *mysql,


                      const char *key,


                      const char *cert,


                      const char *ca,


                      const char *capath,


                      const char *cipher)
    
```

## [Description](#Description)

Used for establishing a secure TLS connection. It must be called before attempting to use [**mysql\_real\_connect(3)**](/man/os/mariadb-11.5/mysql_real_connect.3). TLS support must be enabled in the client library in order for the function to have any effect.

NULL can be used for an unused parameter. Always returns zero.

## [Parameter](#Parameter)

•

mysql - a mysql handle, which was previously allocated by [**mysql\_init(3)**](/man/os/mariadb-11.5/mysql_init.3).

•

key - path to the key file.

•

cert - path to the certificate file.

•

ca - path to the certificate authority file.

•

capath - path to the directory containing the trusted TLS CA certificates in PEM format.

•

cipher list of permitted (SSLv3, TLSv1.0 or TLSv1.2) cipher suites to use for TLS encryption.

## [Notes](#Notes)

•

[**mysql\_real\_connect(3)**](/man/os/mariadb-11.5/mysql_real_connect.3) will return an error if attempting to connect and TLS is incorrectly set up.

•

Even if Connector/C supports TLSv1.3 protocol, it is not possible yet to specify TLSv1.3 cipher suites via cipher parameter.

## [See also](#See_also)

•

[**mysql\_get\_ssl\_cipher(3)**](/man/os/mariadb-11.5/mysql_get_ssl_cipher.3)

Version 3.3.1

---

Document: mysql_ssl_set(3) from mariadb-11.5 11.5.2-r4 (Chainguard OS)
