使用 Devart 库使用 TLS 1.2 访问 PostgreSql 时出现问题

Problem accessing PostgreSql with TLS 1.2 using Devart library

我正在使用库 Devart.Data.PostgreSql (https://www.nuget.org/packages/Devart.Data.PostgreSql/) 从 C# 应用程序与 PostgreSQL 交互,但是当我尝试连接到 PostgreSQL 实例时 运行 遇到了问题托管在执行 TLS 1.2 的 Azure 中。据我了解,在握手期间密码无法匹配存在问题,因为我最终遇到此异常:

Devart.Data.PostgreSql.PgSqlException (0x80004005): Authentication failed in ssl mode. --->
Devart.Data.PostgreSql.PgSqlException (0x80004005): FIPS cipher suites are enforced for this
server. Please specify FIPS complying cipher suites in your SSL/TLS settings.

如何确定我可以使用哪些密码,以及如何控制要使用的密码?我看到微软有一个它支持这种类型连接的密码列表,所以我假设我需要匹配其中一个,但我不知道如何在我的应用程序中控制它:

https://docs.microsoft.com/en-us/azure/postgresql/concepts-ssl-connection-security#cipher-support-by-azure-database-for-postgresql-single-server

  1. 在 .NET Standard (.NET Core) 项目的 SSL 连接中完全支持 TLS 1.2 已在 dotConnect for PostgreSQL 中实现 v7.20.1860 01-Apr-21

  2. 对于 .NET Framework 项目,使用为 .NET Framework 4.7 编译的程序集:

  • "C:\Program Files (x86)\Devart\dotConnect\PostgreSQL\NET4\Devart.Data.dll"
  • "C:\Program Files (x86)\Devart\dotConnect\PostgreSQL\NET4\Devart.Data.PostgreSql.dll"

请select设置向导中的“不要在 GAC 中安装程序集”选项。否则,运行时将使用从 GAC 为 .NET Framework 2.0 编译的程序集。