如何使用客户端和服务器身份验证使用TLS从.NET连接到PostgreSQL?

最后发布: 2008-09-11 18:19:28


问题

我想使用具有客户端服务器身份验证的TLS将C#.NET应用程序连接到PostgreSQL数据库:换句话说,如果无法对照服务器的证书来验证来自客户端的证书,则客户端应被拒绝访问,如果客户端无法验证服务器的证书,则客户端应立即中止连接。

我尝试使用Npgsql 1.0进行此操作,但是我在Npgsql中找不到任何方法来指定应用于连接的客户端证书。

我确实设法在客户端上进行服务器证书验证,并且也使用命令行数据库管理工具psql进行了所有验证,但这并没有帮助我进一步使其与Npgsql一起使用。

那么,如何使用TLS客户端和服务器身份验证将.NET应用程序连接到PostgreSQL数据库?

可能有一个更新的/其他数据提供程序支持此吗?

实际上有没有人做到这一点以另一种方式工作?

.net postgresql database-connection ssl
回答

尝试2.0版RC2-非常稳定。

(请注意,直到2009年CVS才添加了对服务器证书验证的支持。请参阅http://pgfoundry.org/tracker/?func=detail&atid=592&aid=1010558&group_id=1000140 。我将其编辑为回复,因为过早的升级建议是正确的。)