Closed
Description
Issue description
Failed to connect to mysql server version 5.7.44 using SSL client certificates. An error is returned. Everything works correctly with mysql server version 8.4.2.
Example code
rootCertPool := x509.NewCertPool()
pem, err := os.ReadFile("certs/ca-cert.pem")
if err != nil {
log.Fatal(err)
}
if ok := rootCertPool.AppendCertsFromPEM(pem); !ok {
log.Fatal("Failed to append PEM.")
}
clientCert := make([]tls.Certificate, 0, 1)
certs, err := tls.LoadX509KeyPair("certs/client-cert.pem", "certs/client-key.pem")
if err != nil {
log.Fatal(err)
}
clientCert = append(clientCert, certs)
mysql.RegisterTLSConfig("custom", &tls.Config{
RootCAs: rootCertPool,
Certificates: clientCert,
InsecureSkipVerify: true,
})
db, err := sql.Open("mysql", "user@tcp(localhost:3306)/test?tls=custom")
if err != nil {
log.Fatal(err)
}
Error log
MySQL connect error: remote error: tls: handshake failure
Configuration
v1.8.1
Go version: go version go1.22.6 darwin/arm64
Server version: MySQL 5.7.44
Server OS: oraclelinux7
Metadata
Metadata
Assignees
Labels
No labels