mysqli::ssl_set

mysqli_ssl_set

(PHP 5, PHP 7, PHP 8)

mysqli::ssl_set -- mysqli_ssl_setUsed for establishing secure connections using SSL

Description

Object-oriented style

public mysqli::ssl_set(
    ?string $key,
    ?string $certificate,
    ?string $ca_certificate,
    ?string $ca_path,
    ?string $cipher_algos
): true

Procedural style

mysqli_ssl_set(
    mysqli $mysql,
    ?string $key,
    ?string $certificate,
    ?string $ca_certificate,
    ?string $ca_path,
    ?string $cipher_algos
): true

Used for establishing secure connections using SSL. It must be called before mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.

Parameters

mysql

Procedural style only: A mysqli object returned by mysqli_connect() or mysqli_init()

key

The path name to the key file.

certificate

The path name to the certificate file.

ca_certificate

The path name to the certificate authority file.

ca_path

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher_algos

A list of allowable ciphers to use for SSL encryption.

Return Values

Always returns true. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

See Also

add a note add a note

User Contributed Notes 2 notes

up
0
quackfish at gmail dot com
9 years ago
Be warned, MySQL prior to versions 5.7.3 do not require the server to use SSL [1]. In the case of PHP the client won't throw an error if the connection is downgraded to plain-text [2]

[1] https://dev.mysql.com/doc/refman/5.7/en/encrypted-connection-options.html#option_general_ssl
[2] http://www.idontplaydarts.com/2015/03/mysql-with-ssl-does-not-protect-against-active-mitm/
up
-24
Mike
4 years ago
You no longer need to specify the key - ca or cert to establish a secure connection to MySQL 5.7.3 you can just set ssl
To Top