在Sql Server连接字符串中使用Encrypt = yes – >“provider:SSL Provider,error:0 – 证书的CN名称与传递的值不匹配。”
我在SQL Server连接字符串中使用Encrypt=yes
,因为我需要加密TCPIP流量,但在打开连接时出现错误:
A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - The certificate's CN name does not match the passed value.)
有任何建议如何解决这个问题? 我假设我的服务器之间需要某种证书关系,但不知道从哪里开始。
我需要两个连接,一个连接到SQL 2000服务器,一个连接到2005服务器。
您的数据库连接可以配置为加密流量并接受来自服务器的任何证书 。 不是一个伟大的解决方案,但它对我有用。
生成的连接字符串应如下所示:
"[...];Encrypt=True;TrustServerCertificate=True"
我意识到这已经很老了,但是认为这可能仍然对某人有所帮助。
如果要连接的服务器未安装证书,则每次重新启动服务器时都会生成默认证书编号。 发生这种情况时,CN编号会发生变化,可能与您的编号不一致。
我最近读过这篇文章,但我仍在努力为你找到这个链接。 我建议你确保你连接的服务器已经明确安装了证书,并且你的客户端也有。
我会在找到链接后立即更新。