ページの先頭行へ戻る
Enterprise Postgres 12 アプリケーション開発ガイド
FUJITSU Software

2.2.3 通信データを暗号化する場合の設定

通信データの暗号化機能を利用してデータベースサーバと接続する場合は、以下のように設定してください。

通信データを暗号化してサーバに接続する設定

通信データを暗号化する場合のアプリケーションの作成方法を説明します。

暗号化する場合、sslパラメータのプロパティを“true”に設定します。sslパラメータのデフォルトは“false”です。

sslを“true”に設定すると、sslmodeは内部的に“verify-full”として扱われます。

  • 設定例1

    String url = "jdbc:postgresql://sv1/test";
    Properties props = new Properties();
    props.setProperty("user","fsepuser");
    props.setProperty("password","secret");
    props.setProperty("ssl","true");
    props.setProperty("sslfactory","org.postgresql.ssl.DefaultJavaSSLFactory"); Connection conn = DriverManager.getConnection(url, props);
  • 設定例2

    String url = "jdbc:postgresql://sv1/test?user=fsepuser&password=secret&ssl=true&sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory";
    Connection conn = DriverManager.getConnection(url);

さらに、データベースサーバの成りすましから防御するためには、Javaに含まれるkeytoolコマンドを使用して、CA証明書をJavaのキーストアにインポートする必要があります。また、その際はsslfactoryパラメータに“ org.postgresql.ssl.DefaultJavaSSLFactory”を指定してください。詳細については、JDKのドキュメント、または、Oracle社のWebサイトで参照してください。

注意

アプリケーションの接続先切り替え機能を利用するなど、DriverManagerクラスの接続文字列またはデータソースにsslmodeパラメータを指定する場合、sslパラメータの設定は不要です。sslパラメータを設定した場合、sslmodeパラメータの設定値が有効となります。

参照

通信データの暗号化についての詳細は、“PostgreSQL Documentation”の“Server Administration”の“Secure TCP/IP Connections with SSL”を参照してください。