我想将 C# .NET 应用程序连接到 PostgreSQL 数据库,使用带有客户端和服务器身份验证的 TLS:换句话说,如果来自客户端的证书无法根据服务器,客户端应拒绝访问,如果客户端无法验证服务器的证书,客户端应立即中止连接。
我使用 Npgsql 1.0 尝试过此操作,但我无法在 Npgsql 中找到任何方法来指定应该用于连接的客户端证书。
我确实设法让客户端上的服务器证书验证正常工作,我也确实使用命令行数据库管理工具 psql 完成了所有验证工作,但这并没有帮助我进一步让它与 Npgsql 一起工作。
那么,我如何使用 TLS 客户端和服务器身份验证将我的 .NET 应用程序连接到 PostgreSQL 数据库?
是否有更新的/其他数据提供者支持这一点?
真的有人让这个以某种方式工作吗?
最佳答案
试用版2.0 RC2 - 它非常稳定。
(请注意,直到 2009 年 CVS 才添加对服务器证书验证的支持。请参阅 http://pgfoundry.org/tracker/?func=detail&atid=592&aid=1010558&group_id=1000140。我正在将其编辑到回复中,因为升级建议虽然为时过早,但却是正确的。)
关于.net - 如何使用具有客户端和服务器身份验证的 TLS 从 .NET 连接到 PostgreSQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57261/