SSL自签名证书,用于与Mysql连接

use*_*563 6 php mysql ssl mysqli google-cloud-sql

简介:使用Google Cloud SQL提供的自签名证书时,PHP会出错.

详细信息:我正在尝试使用PHP的mysqli库连接到Google Cloud SQL的mysql实例.

$db = mysqli_init();
mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set('client-key.pem', 'client-cert.pem', 'server-ca.pem', NULL, NULL);
$query = mysqli_real_connect ($db, $host, $user, $pass, $dbname, 3306, NULL, MYSQLI_CLIENT_SSL);
Run Code Online (Sandbox Code Playgroud)

据我所知,Google云允许自签名证书,我从那里下载了client-key.pem,client-cert.pem,server-ca.pem文件.

验证证书时,我从PHP收到以下错误:

mysqli_real_connect(): Peer certificate CN=`<project_name>' did not match expected CN=`<db_IP>'
Run Code Online (Sandbox Code Playgroud)

根据我到目前为止的研究,似乎我需要一种方法来禁用Verify_Peer检查,这显然是PHP不允许的.您能否验证这一点和/或提供一种方法来使用SSL中的Google Cloud SQL SSL?

谢谢.

Gui*_*ido 1

看起来 PHP 中的 2 个相关错误仍未完全解决:#68344#71003