无法使用python3 TLS连接到GCP云SQL(MySQL)


import ssl
sc = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
sc.load_verify_locations(cafile='./server-ca.pem')
sc.load_cert_chain(certfile='./client-cert.pem', keyfile='./client-key.pem')
#sc.check_hostname = False
async with aiomysql.create_pool(
host=host,
port=port,
user=user,
password=password,
db=db,
ssl=sc
)

我犯了这样的错误。

ssl。SSLCertVerification错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败:IP地址不匹配,证书不是对"ip_address"有效。(_ssl.c:1108(

server-ca.pem、client-cert.pem和client-key.pem从GCP Cloud SQL的连接选项卡导出。

#mysql --ssl-ca=./server-ca.pem --ssl-cert=./client-cert.pem --ssl-key=./client-key.pem --host=host --user=user --password

这个mysql命令可以用来访问。

我想让你告诉我问题出在哪里。

刚刚遇到了同样的问题。您需要设置参数check_hostname=False,这样SSL就不会尝试验证它

ssl = {
'cert': ...,
'key': ...,
'ca': ...,
'check_hostname': False,
}

我使用的是PyMySQL。在您的案例中,您可能会了解这一点如何适用于SSLContext。

相关内容

  • 没有找到相关文章

最新更新