2016-08-18 34 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;を使用しようとしましたが、しかしそれは、次の例外がスローされます。 TlsClientStream.ClientAlertException:

型 'System.IO.IOException' の未処理の例外がNpgsql.dll

で発生しました追加情報CertificateUnknown:サーバー証明書が受け入れられませんでした。チェーンステータス:証明書チェーンは処理されましたが、信頼プロバイダによって信頼されていないルート証明書で終了しました。

。指定されたホスト名が証明書に存在しませんでした。

答えて

5

ドキュメントherehereに記載されているように、接続文字列にSSL Mode=Require;Trust Server Certificate=trueを使用する必要があります。

+0

返信いただきありがとうございます、私の編集を確認していただけますか? – illusion466

+0

更新された回答を参照してください。 –

+0

優れています。助けてくれてありがとう。私はSSLの仕組みについて多くのことを理解していないので、努力しているものが何も働いていなかった理由を理解するために苦労していました。 – illusion466