Connecting JDBC applications with SSL
You can configure database connections for the HCL OneDB™ JDBC Driver to use the Secure Sockets Layer (SSL) protocol.
Before you begin
Procedure
JDBC sample for SSL connection
This sample Java program highlights the operations that are required to connect to the stores_demo database by using SSL.
import java.sql.Connection;
import java.sql.SQLException;
import com.informix.jdbc.IfxDriver;
import com.informix.jdbcx.IfxDataSource;
public class InformixSSLConnectionExample {
public static void main(String[] args) {
/* System properties for keystore */
/* you can set this here for your whole system or you can set on */
/* the data sourc (show below) or directly on your connection */
/* properties using SSL_TRUSTSTORE and SSL_TRUSTSTORE_PASSWORD */
System.setProperty("javax.net.ssl.trustStore", "/opt/ids/.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "password");
/* Instantiate Informix connection pooled data source */
IfxDataSource cds = new IfxDataSource();
/*
* Set SSLConnection property to true and port pointing to SSL port on the
* server
*/
cds.setUser("dbuser");
cds.setPassword("password");
cds.setDatabaseName("stores_demo");
cds.setPortNumber(9888);
/* Enable SSL */
cds.setIfxSSLCONNECTION("true");
/* Optional if you don't set a system property */
/* You can set the trust store and password in the data source */
cds.setTrustStore("/opt/ids/.keystore");
cds.setTrustStorePassword("password");
try (Connection conn = cds.getConnection()) {
System.out.println(" Successfully connected to Informix database using SSL Connection");
System.out.println(" Database version ...: " + conn.getMetaData().getDatabaseProductVersion());
System.out.println(" JDBC Driver Version .: " + IfxDriver.getJDBCVersion());
} catch (SQLException e) {
System.err.println("Error Message : " + e.getMessage());
System.err.println("Error Code : " + e.getErrorCode());
} catch (Exception e) {
System.err.println("Error Message : " + e.getMessage());
}
}
}