A5:SQL Mk-2

開発のこと、日々のこと

2.15.0_x64でPostgreSQLにSSL接続できなくなった

ホーム フォーラム A5:SQL Mk-2掲示板 2.15.0_x64でPostgreSQLにSSL接続できなくなった

  • このトピックには9件の返信、1人の参加者があり、最後に松原正和により3週、 4日前に更新されました。
10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #6978 返信
    NT
    ゲスト

    いつもお世話になります。

    PostgreSQLに直接接続でSSLを利用して接続しています。2.14.5_x64では正常に接続できますが、2.15.0_x64にアップデートしたところ、接続できなくなりました。PgAdminやBIツールなどからは従来通り接続できています。PostgreSQLのバージョンは12.2です。

    メッセージとしては、「The certificate is not trusted by the trust provider」と表示され、sslの証明書関連のような感じです。証明書はWebサーバと共用していますが、きちんとした認証局に発行してもらったもので、期限も十分残っています。他のソフトからは従来通り接続できています。

    A5 SQLの設定は、ポータブルモードで2.14.5からPortableフォルダをコピーしましたので、前バージョンと全く同じです。2.14.5に戻すと正常に接続できます。

    ご確認のほど、よろしくお願いします。

    #7009 返信
    松原正和
    キーマスター

    NTさんこんにちは。
     
    A5:SQL Mk-2で内部的に使用している、SSH/SSLライブラリであるDevart社のSecureBridgeの仕様が変わった?ことが原因と思われます。ライブラリのの使用方法等を見直してみたいと思います。もしかしたら、すぐには解決しづらいかもしれませんが、もうしばらくお待ちください。

    #7017 返信
    NT
    ゲスト

    レスどうもありがとうございます。
    他に目立った報告がありませんので、他の方は接続できているのでしょうかね。

    しばらくは前バージョンを使わせていただきます。

    こちらで試してみること、検証してみることがあれば試して報告しますので、あればお知らせください。

    #7061 返信
    NT
    ゲスト

    追加情報です。

    証明書の検証の問題だと思い、PostgreSQLのssl_ca_fileパラメータに認証局の証明書を指定しました。これで、接続できなくなっていたMicrosoftのPowerBIは接続できるようになりました。おそらく、中間認証局の証明書を設定したことで、認証のチェーンがつながったからだと思います。

    この変更で、A5:SQLのエラーメッセージも変わり、「The CRL is not found」となりました。少し調べると、CRLは証明書の失効リストのようですので、中間認証局からCRLを取得しPostgreSQLのssl_crl_fileもきちんと設定しても、やはり同様のエラーが出ます。

    ということで、SSLの証明書の検証の仕組みがかわったような気がします。

    #7077 返信
    松原正和
    キーマスター

    NTさんこんにちは。
     
    情報ありがとうございます。SSLを使用するのはSecureBridgeというライブラリではなく、UniDACと呼ばれるDB接続ライブラリの仕様でした。
     
    どうも、UniDACのSSL関連の仕様が、Version 2.15系で使うものから仕様変更になっているようです。もう少々調べてみます。

    #7088 返信
    NT
    ゲスト

    2.14.5と2.15.0の違いを発見しました。

    「データベースの追加と削除」->「PostgreSQL(直接接続)」のエントリ->「SSL」タブの下部のチェックボックスが2.15.0ではなくなっています。

    「サーバ証明書を信頼する」や有効期限など、証明書検証を緩めるオプションがなくなっていることと、今回の事象が関係しているかもしれません。

    よろしくお願いします。

    #7351 返信
    竹脇無我
    ゲスト

    当方でも同様の事象が発生しました。

    サーバ側の証明書に問題があるため、2.15.0では接続できないようです。
    サーバー証明書を信用するのチェックボックスをONにすると接続できました。

    #7368 返信
    松原正和
    キーマスター

    NTさん、竹脇無我さんこんにちは。
     
    調査したところ、これまで、新しいUniDACではSSLの「サーバー証明書を信用する」機能が削除されたと思っていたのですが、別クラスに移動していただけでした。再度Version 2.16.0 beta 5に実装してみましたので、お試しください。
     
    なお、この修正はVersion 2.15系にもバックポートしたいと思います。

    #7463 返信
    NT
    ゲスト

    2.16.0 beta[最新版:2020/10/26現在]を試させていただきました。

    「証明書を信頼する」で接続できました。

    ところで、正しい証明書にも関わらず接続できないというのは、もしかしてクライアント(A5:SQL)側で信頼するCAの証明書を持っている必要があるのでしょうか?Webブラウザの証明書検証も、ルート証明書はブラウザに内蔵されていますよね。信頼する証明書をクライアント側に認識させられれば、むやみに「証明書を信頼する」という回避策を取らなくてよいのではないかと思うのですが、いかがでしょうか。

    お手すきの際にでもご検討いただけますと幸いです。

    #7489 返信
    松原正和
    キーマスター

    NTさんこんにちは。
     
    はい、実はこの辺のUniDACの挙動は私自身よく理解できていません。もう少し調査したいと思いますので、しばらくお待ちいただけたらと思います。

10件の投稿を表示中 - 1 - 10件目 (全10件中)
返信先: 2.15.0_x64でPostgreSQLにSSL接続できなくなった
あなたの情報:




コメントは受け付けていません。