Presumo che tu abbia già creato la tua istanza MySQL di Google Cloud SQL.
Seguendo le istruzioni in Connettiti alla tua istanza Cloud SQL utilizzando SSL , dovrai abilitare l'accesso SSL esterno e creare un certificato client.
Scaricherai i tre file:server-ca.pem, client-cert.pem, client-key.pem.
Installa MySqlConnector Pacchetto NuGet nell'applicazione C#.
Crea la tua stringa di connessione come segue:
var csb = new MySqlConnectionStringBuilder
{
Server = "Google Cloud SQL IP address",
UserID = "Your UserName",
Password = "Your Password",
Database = "Your Database/Schema Name",
SslCert = @"C:\Path\To\client-cert.pem",
SslKey = @"C:\Path\To\client-key.pem",
SslCa = @"C:\Path\To\server-ca.pem",
SslMode = MySqlSslMode.VerifyCA,
};
using var connection = new MySqlConnection(csb.ConnectionString);
connection.Open();
Tieni presente che per le versioni precedenti della libreria MySqlConnector, dovrai combinare il certificato SSL e la chiave in un unico file PFX. Seguendo queste istruzioni , converti client-cert.pem e client-key.pem in un file pfx:
openssl pkcs12 -inkey client-key.pem -in client-cert.pem -export -out client.pfx
Quindi rimuovi Ssl*
opzioni della stringa di connessione e aggiungi quanto segue:
CertificateFile = @"C:\Path\To\client.pfx",
CACertificateFile = @"C:\Path\To\server-ca.pem",