我们有一个打开SSL的MySql数据库。
我们有一个Azure云服务,我们在那里安装我们的证书。
我们使用的是.Net MySql连接器的6.9.9版本。
看下面--有人看到我们做错了什么吗?连接字符串正确吗?有人能解释一下,在Azure上的云环境中,“证书位置”是什么?
任何帮助都是非常感谢的。谢谢。
基于这些链接:
https://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-ssl.html
https://dev.mysql.com/doc/connector-net/en/connector-net-connection-options.html
https://www.connectionstrings.com/mysql-connector-net-mysqlconnection/我们使用的连接字符串如下所示:
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
SSL Mode=Required;Certificate Store Location=CurrentUser;
Certificate Thumbprint=479436009a40f3017a145cf8479e7694d7aadef0;问题是--当我运行我们的代码时,我得到了一个MySql异常:
不支持关键字。参数名称:证书拇指打印
在MySql.Data.MySqlClient.MySqlConnectionStringBuilder.set_Item(String关键字,对象值)在System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String值)在MySql.Data.MySqlClient.MySqlConnectionStringBuilder..ctor(String connStr)在MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String值)
更新:问题的一部分是证书存储位置和证书拇指打印中的“空格”。我删除了这些空格,并尝试将该位置用作"LocalMachine“
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
SSL Mode=Required;CertificateStoreLocation=LocalMachine;
CertificateThumbprint=479436009a40f3017a145cf8479e7694d7aadef0;但是,我的新错误是:
证书,带有指纹479436009a40f3017a145cf8479e7694d7adef0未找到
MySql.Data.MySqlClient.NativeDriver.GetClientCertificates() at MySql.Data.MySqlClient.NativeDriver.StartSSL()at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Open()at MySql.Data.MySqlClient.Driver.Open() at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() at MySql.Data.MySqlClient.MySqlPool.GetConnection() at MySql.Data.MySqlClient.MySqlConnection.Open()在Cmm.Data.MySql.MySqlContext.get_DbConnection()
发布于 2017-02-28 02:16:25
首先尝试将证书上载到云服务,然后将证书位置更改为"LocalMachine".。
我希望这能帮到你。
https://stackoverflow.com/questions/42497322
复制相似问题