我们在Windows 2012 R2 OS上运行了一个应用程序,其中包含4.6框架和数据库作为SQL Server 2012.出于安全考虑,我们被要求为应用程序服务器与数据库服务器之间的调用启用TLS1.2协议,反之亦然。我已经按照以下URL,我们安装了所有补丁。 https://support.microsoft.com/en-us/help/3135244/tls-1-2-support-for-microsoft-sql-server
我们的前端应用程序不会直接调用数据库,而是在前端应用程序(asp.net)和SQL服务器之间提供WCF服务。我在一篇文章中读到了我们可以实现这一点而无需更改代码并更改providername =“SQLNCI11”。当我更改提供者名称如下所示我得到错误。说“无法找到所请求的.Net框架数据提供程序”
Data Source = servername; Initial Catalog = DBname; uid = XXX; pwd = XXXX; Connect Timeout = 200; MultipleActiveResultSets = True; Current Language = us_english;的providerName = “SQLNCI11”
我已经验证了machine.config并且我没有找到SQL本机客户端的DBproviderfactory。我在这里遗漏了什么?
在连接字符串中进行上述更改后,数据库调用成功,当我看到使用wireshark工具进行以太网通信时,数据库与 TDS 协议进行WCF服务通信,并根据wireshark工具涉及TLS。如果我从连接字符串中删除“Encrypt = true; TrustServerCertificate = true”,那么我不会看到“TLS Exchange”消息。
我需要采取哪些步骤来确保应用程序使用TLS 1.2协议与数据库进行通信?还请建议如何证明这种沟通。