2016-08-18 188 views
2

我试图连接到通过我的c#应用程序使用SSL的postgresql数据库。但是我无法弄清楚正确的连接字符串是什么。有人能够帮助吗?使用SSL连接到Postgresql

 NpgsqlConnection postgresConn; 
     public PostgreManager() 
     { 
      openConnection(); 
     } 

     private void openConnection() 
     { 
      postgresConn = new NpgsqlConnection("Server=10.153.8.4;Port=5432;Database=au_wa_jpc;User Id=readonly;Password=myPass;"); 
      postgresConn.Open(); 

     } 

编辑:

我试图在连接字符串中使用Ssl Mode=Require;,但它会引发以下异常。

型 'System.IO.IOException' 未处理的异常发生在Npgsql.dll

其他信息:TlsClientStream.ClientAlertException:CertificateUnknown:服务器证书是不能接受的。链状态:证书链已处理,但终止于信任提供程序不信任的根证书。

。指定的主机名不在证书中。

回答

5

如文档herehere中所述,您必须在连接字符串中使用SSL Mode=Require;Trust Server Certificate=true

+0

谢谢您的回复,请您查看我的编辑? – illusion466

+0

查看已更新的答案。 –

+0

非常好。感谢您的帮助。我不太了解SSL如何工作,所以我一直在努力解决为什么我没有尝试的工作。 – illusion466