在应用程序配置中指定 ssl ca 和密钥 c# mysql 连接字符串
specify ssl ca and key in app config c# mysql connection string
如何在 app.config 连接字符串中指定 entity framework mysql 使用的 sslca 文件。
我的连接字符串目前看起来像这样;
<connectionStrings>
<add name="Model" connectionString="server=localhost;user id=username;password=*****;persistsecurityinfo=True;database=database_name;CharSet=utf8;SslMode=VerifyCA;CertificateFile=client-bundle.pfx;CertificatePassword=******;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
当我在连接字符串中使用 SslCa=ca.pem 时出现关键字无法识别错误。
那么如何指定要使用的ca文件呢?
Oracle MySQL Connector/NET 不支持混合 PEM 和 PFX 文件。具体来说,根据 bug 95526,SslCa
被视为 CertificateFile
的别名,因此您不能同时使用两者。
我通常建议切换到 MySqlConnector,它支持同时使用 SslCa
和 CertificateFile
,但它不支持 EF6(仅 EF Core)。
相反,您必须删除 CertificateFile
选项,将您的证书转换为 PEM 格式,并改用 SslKey
和 SslCert
(以及 SslCa
).我认为这也会阻止您使用 CertificatePassword
选项(因为它仅适用于 PFX 文件)。
如何在 app.config 连接字符串中指定 entity framework mysql 使用的 sslca 文件。
我的连接字符串目前看起来像这样;
<connectionStrings>
<add name="Model" connectionString="server=localhost;user id=username;password=*****;persistsecurityinfo=True;database=database_name;CharSet=utf8;SslMode=VerifyCA;CertificateFile=client-bundle.pfx;CertificatePassword=******;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
当我在连接字符串中使用 SslCa=ca.pem 时出现关键字无法识别错误。
那么如何指定要使用的ca文件呢?
Oracle MySQL Connector/NET 不支持混合 PEM 和 PFX 文件。具体来说,根据 bug 95526,SslCa
被视为 CertificateFile
的别名,因此您不能同时使用两者。
我通常建议切换到 MySqlConnector,它支持同时使用 SslCa
和 CertificateFile
,但它不支持 EF6(仅 EF Core)。
相反,您必须删除 CertificateFile
选项,将您的证书转换为 PEM 格式,并改用 SslKey
和 SslCert
(以及 SslCa
).我认为这也会阻止您使用 CertificatePassword
选项(因为它仅适用于 PFX 文件)。