2016-08-18 244 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