VB.net:启用 ssl 后无法连接到 mysql (mariadb)

VB.net : Can't connect to mysql (mariadb) with ssl enabled

我正在尝试将我的 Winform 应用程序(VB.net,带有 mysql 连接器 8.0.26 的 W10 计算机)连接到启用了 ssl 的 Mariadb 数据库(在 Debian 10 上) 但即使经过多次搜索,我也没有找到解决方案。 没有启用 ssl,应用 运行 没问题。

在同一台计算机上,我有 DBeaver 并且 ssl 连接与 db 一起工作正常。 (PEM 证书)

我认为我的连接参数有误,但我找不到哪里...

我从这里举了个例子:https://www.connectionstrings.com/mysql-connector-net-mysqlconnection/ssl-with-a-file-based-certificate/

也许 .pfx 文件会导致问题?任何人都可以给我一个 PEM 证书的例子。

在我的应用程序中,错误是身份验证失败...

CertificateFile 路径是什么意思?我在计算机 运行ning 应用程序上存储了 D:\client.pfx,是吗?

stringCmd = "SELECT name FROM hosts WHERE state = '0' AND enabled = '1'"
stringConn = "server=xxx.xxx.xxx.xxx;user id=xxxxx;password=xxxxxxx;database=xxxxxxxxx;SSL Mode=Required;CertificateFile=D:\client.pfx;CertificatePassword=xxxxxxxxx"
myConn = New MySqlConnection(stringConn)
myCmd = New MySqlCommand(stringCmd, myConn)
myConn.Open()

Stack Trace

编辑 26/07:

我将证书存储在 windows 证书存储中并使用了 Certificate Store Location=CurrentUser;SslMode=Required

我还使用了另一个 Mysql 连接器(在 Oracle Mysql 数据连接器之前): https://github.com/mysql-net/MySqlConnector

McAfee 似乎阻止了 PEM 证书。

现在可以了,但是在看起来没问题之后启动第一个连接非常慢。我增加了 mysql 超时...

经过多次搜索,我找到了解决办法。我希望能帮助其他管理员。 现在,所有连接器都可以正常工作(Oracle 等)。

这是一个 Windows 需要修改的设置:

  1. 按 Win+R 打开“运行”对话框

  2. 键入“gpedit.msc”(不带引号)并按 Enter

  3. 在“本地组策略编辑器”中,展开“计算机配置”,展开“管理模板”,展开“系统”,展开“Internet通信管理”,然后单击“Internet通信设置” ".

  4. 在详细信息面板中,双击“关闭自动根证书更新”,单击“启用”,然后单击“确定”。此更改将立即生效,无需重启。