gpt4 book ai didi

来自 WCF 服务的带有 SSL 的 MySQL Connector/Net 失败

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:37 27 4
gpt4 key购买 nike

到目前为止,我正在尝试实现以下目标但没有成功:
使用 Connector/Net 从我的 WCF 服务(Server 2008 R2 上的 IIS 7.5 中的主机)到外部 MySQL 数据库 (v5.0) 的基于证书的 SSL 连接。

托管 mysql 数据库的人向我发送了三个 .pem 文件,我使用 OpenSSL 将它们合并为一个 .pfx,如 Using SSL with MySQL Connector/Net 中所述。 .

但是当我尝试使用基于文件的方法进行连接时,出现异常,告诉我 mysql 5.0 不支持基于文件的模式。

所以我只剩下一个选择:基于商店的证书。
因此,我在服务器(托管我的 wcf 服务)上为“本地计算机”安装了证书,并将其添加到“个人证书”。然后调整连接字符串后包含

"SSL Mode=Required;Certificate Store Location=LocalMachine;"

我再次测试了一些奇怪的身份验证/凭据错误。

再google了一下,发现可能是证书访问权限不足的问题。所以我按照说明的步骤操作 here ,并使用工具 WinHttpCertCfg 授予帐户“NetworkService”的访问权限,我认为该帐户用于托管我的服务。

不幸的是,我仍然遇到以下异常:

Message: Out of sync with server
Source: MySql.Data
Type: MySql.Data.MySqlClient.MySqlException
StackTrace:
bei MySql.Data.MySqlClient.NativeDriver.ReadOk(Boolean read)
bei MySql.Data.MySqlClient.NativeDriver.AuthenticateNew(Boolean reset)
bei MySql.Data.MySqlClient.NativeDriver.Authenticate(Boolean reset)
bei MySql.Data.MySqlClient.NativeDriver.Open()
bei MySql.Data.MySqlClient.Driver.Open()
bei MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
bei MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
bei MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
bei MySql.Data.MySqlClient.MySqlPool.GetConnection()
bei MySql.Data.MySqlClient.MySqlConnection.Open()
bei System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
bei AtlasService.AtlasService.getChildNodes(UInt32 nid, Language lang, Boolean withEmpty, DateFormats format)

有谁知道这里的问题是什么,或者我做错了什么?任何帮助将不胜感激。提前致谢

/编辑:我应该补充一点,我使用 mysql 命令行工具和工作台(使用单独的 .pem 文件)成功测试了 ssl 连接

最佳答案

好吧,经过几个小时的挫折,我找到了解决方案。
似乎是最新版本(v6.4.3)的connector/net lib 或ssl 与connector/net lib 版本和正在使用的mysql server 的组合有问题。

将连接器/网络库降级到 v6.3.7 后一切正常。

关于来自 WCF 服务的带有 SSL 的 MySQL Connector/Net 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com