Riepilogo: PHP dà un errore quando utilizza certificati autofirmati come fornito da Google Cloud SQL.Certificazioni autofirmate SSL per connettersi con Mysql con PHP
Dettagli: Sto tentando di connettermi all'istanza mysql di Google Cloud SQL utilizzando la libreria mysqli di PHP.
$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);
quanto ho capito di cloud di Google permette certificati autofirmati, da dove ho scaricato i file client-key.pem, client-cert.pem, server ca.pem.
ottengo il seguente errore da PHP durante la convalida del certificato:
mysqli_real_connect(): Peer certificate CN=`<project_name>' did not match expected CN=`<db_IP>'
Sulla base della mia ricerca finora, sembra ho bisogno di un modo per disattivare controllo Verify_Peer, che a quanto pare PHP non consente. Puoi validare questo e/o offrire un modo per utilizzare SSL con Google Cloud SQL da PHP?
Grazie.
Sto cercando qualcosa di simile a questo (http://stackoverflow.com/questions/8443618/disable-certificate-verification-in-php-soapclient) ma per mysql. Grazie! – user3376563
Sei in grado di [connettersi con SSL usando il client 'mysql' della riga di comando] (https://cloud.google.com/sql/docs/mysql-client#connect-ssl)? – Nick