通信データの暗号化機能を利用してデータベースサーバと接続する場合は、以下のように設定してください。
通信データを暗号化する場合のアプリケーションの作成方法を説明します。
暗号化する場合、sslパラメータのプロパティを“true”に設定します。sslパラメータのデフォルトは“false”です。
例
設定例1
String url = "jdbc:postgresql://sv1/test"; Properties props = new Properties(); props.setProperty("user","symfo"); props.setProperty("password","secret"); props.setProperty("ssl","true");
Connection conn = DriverManager.getConnection(url, props);
設定例2
String url = "jdbc:postgresql://sv1/test?user=symfo&password=secret&ssl=true";
Connection conn = DriverManager.getConnection(url);
さらに、データベースサーバの成りすましから防御するためには、Javaに含まれるkeytoolコマンドを使用して、CA証明書をJavaのキーストアにインポートする必要があります。詳細については、JDKのドキュメント、または、Oracle社のWebサイトで参照してください。
注意
アプリケーションの接続先切り替え機能を利用するなど、DriverManagerクラスの接続文字列またはデータソースにsslmodeパラメータを指定する場合、sslパラメータの設定は不要です。sslパラメータを設定した場合、sslmodeパラメータの設定値が有効となります。
参照
通信データの暗号化についての詳細は、“PostgreSQL文書”の“サーバの管理”の“SSLによる安全なTCP/IP接続”を参照してください。