【发布时间】:2016-09-07 00:47:18
【问题描述】:
我们希望对所有到 SQL Server 的流量进行加密。所以我们有 SSL 证书并将其安装到我们的 SQL Server。
我们的 .NET web 应用程序可以使用encrypt=true 功能连接到 SQL Server,从而在 SQL Server 和 Web Server 之间加密流量。
我们还有一个 Delphi 2007 桌面应用程序,我们也希望在 SQL Server 和应用程序用户之间加密流量。
虽然应用程序用户可以通过选中"encrypt connection" 功能的 SQL Management Studio 连接到 SQL Server,但我们无法通过我们的 Delphi 应用程序连接。我们在 OLEDB 连接字符串中添加了"encrypt=true",但没有任何改变。
我们应该怎么做才能加密所有流量?
【问题讨论】:
-
我们无法连接具体是什么意思?您收到错误消息吗?如果是这样,exact 错误消息是什么?您使用哪些组件进行连接?你的 ConnectionString 是什么?
-
connectionstrings.com/all-sql-server-connection-string-keywords(对于 ADO)还有:当 encrypt 属性设置为 true 并且 trustServerCertificate 属性设置为 true 时,驱动程序将不会验证 SSL 证书。这通常是在测试环境中允许连接所必需的,例如在实例只有自签名证书的情况下。字符串 connectionUrl = "jdbc:sqlserver://localhost:1433;" +“数据库名称=AdventureWorks;集成安全=真;” + "加密=真;trustServerCertificate=真 "
-
我们使用的连接字符串:
Provider=SQLOLEDB.1;Encrypt=True;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=OurDatabaseName;Data Source=OurServer\OurInstance;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Tag with column collation when possible=False我的意思是can not connect我们可以连接我们的sql server但不能建立加密连接。 -
我们使用 TADOConnection 创建连接对象。
-
我试过了,但是没有用。据我所知,Use Encryption for Data 功能是用于数据加密而不是连接加密。而且微软还告诉您只需 ...添加 Encrypt 关键字并将其在连接字符串中设置为 true... this kb.
标签: sql-server delphi ssl encryption delphi-2007