通过 SSL 连接 Informix JDBC
Connect Informix JDBC over SSL
我想用 SSL 连接我的 Spring JDBC 应用程序。 DBMS 是 Informix IBM。
我正在使用 spring-config.xml 文件,我在其中声明了数据源 bean:
<bean id="dataSource" class="com.sopra.datasource.CDataSource" init-method="init"
destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="removeAbandoned" value="true" />
<property name="initialSize" value="20" />
<property name="maxActive" value="30" />
</bean>
非常感谢。
Mac
您是否与 Informix 服务器建立了基本的 SSL 连接,例如使用 dbaccess 工具?如果不是,您可能需要参考这篇 developerWorks 文章了解配置步骤:
本文使用 Informix 11.50,而我使用的是 12.10,它使用了更高版本的 IBM GSKit,因此我在文章使用 gsk7capicmd 的所有地方都替换了 gsk8capicmd_64 命令。
我不了解 Spring JDBC 所以我使用了一个基本的 JDBC 演示程序来测试 SSL 连接。该程序基于 Informix JDBC 驱动程序指南中列出的 "JDBC sample for SSL connection" 程序:
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_490.htm
以下是代码的一些相关摘录:
System.setProperty("javax.net.ssl.trustStore", "/home/keystore/keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "password");
IfxConnectionPoolDataSource cds = new IfxConnectionPoolDataSource();
cds.setIfxIFXHOST("informix_hostname"");
cds.setServerName("informix_server");
cds.setPortNumber(port_number);
cds.setIfxSSLCONNECTION("true");
cds.setUser("informix");
cds.setPassword("password");
cds.setDatabaseName("stores_demo");
conn = cds.getPooledConnection().getConnection();
您可能还需要按照 Informix JDBC 驱动程序指南的加密选项部分所述配置 Java 加密扩展兼容的加密服务提供程序:
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_059.htm
我想用 SSL 连接我的 Spring JDBC 应用程序。 DBMS 是 Informix IBM。
我正在使用 spring-config.xml 文件,我在其中声明了数据源 bean:
<bean id="dataSource" class="com.sopra.datasource.CDataSource" init-method="init"
destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="removeAbandoned" value="true" />
<property name="initialSize" value="20" />
<property name="maxActive" value="30" />
</bean>
非常感谢。
Mac
您是否与 Informix 服务器建立了基本的 SSL 连接,例如使用 dbaccess 工具?如果不是,您可能需要参考这篇 developerWorks 文章了解配置步骤:
本文使用 Informix 11.50,而我使用的是 12.10,它使用了更高版本的 IBM GSKit,因此我在文章使用 gsk7capicmd 的所有地方都替换了 gsk8capicmd_64 命令。
我不了解 Spring JDBC 所以我使用了一个基本的 JDBC 演示程序来测试 SSL 连接。该程序基于 Informix JDBC 驱动程序指南中列出的 "JDBC sample for SSL connection" 程序:
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_490.htm
以下是代码的一些相关摘录:
System.setProperty("javax.net.ssl.trustStore", "/home/keystore/keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "password");
IfxConnectionPoolDataSource cds = new IfxConnectionPoolDataSource();
cds.setIfxIFXHOST("informix_hostname"");
cds.setServerName("informix_server");
cds.setPortNumber(port_number);
cds.setIfxSSLCONNECTION("true");
cds.setUser("informix");
cds.setPassword("password");
cds.setDatabaseName("stores_demo");
conn = cds.getPooledConnection().getConnection();
您可能还需要按照 Informix JDBC 驱动程序指南的加密选项部分所述配置 Java 加密扩展兼容的加密服务提供程序:
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_059.htm