2017-03-22 2 views
1

Ich möchte meine Spring JDBC-Anwendung mit SSL verbinden. Das DBMS ist IBM Informix.Verbinden Sie Informix JDBC über SSL

Ich bin mit einer Feder-config.xml-Datei, in der ich die Datenquelle Bohne erklären:

<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> 

Vielen Dank.

Mac

+0

Irgendwelche Helfer bitte? – Mac

Antwort

3

Haben Sie eine einfache SSL-Verbindung zum Informix-Server Arbeits bekamen, zum Beispiel mit dem dbaccess-Tool? Wenn nicht möchten Sie vielleicht zu diesem developer Artikel für die Konfigurationsschritte verweisen:

https://www.ibm.com/developerworks/data/library/techarticle/dm-0912securesockets1/dm-0912securesockets1-pdf.pdf

Dieser Artikel verwendet Informix 11.50, während ich 12,10 verwendet, die eine spätere Version des IBM GSKit verwendet so ersetzt ich das gsk8capicmd_64 Befehl überall, wo der Artikel gsk7capicmd verwendet.

Ich habe keine Kenntnis von Spring JDBC, also habe ich dann ein einfaches JDBC-Demo-Programm verwendet, um die SSL-Verbindung zu testen. Dieses Programm wurde auf der „JDBC-Probe für die SSL-Verbindung“ basiertes Programm im Guide JDBC-Treiber Informix aufgeführt:

https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_490.htm

Hier sind einige relevante Auszüge aus dem Code:

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(); 

Sie können auch Sie müssen einen Java Cryptography Extension-Complian-Verschlüsselungsdienstanbieter konfigurieren, wie im Abschnitt Verschlüsselungsoptionen des Informix JDBC-Treiberhandbuchs beschrieben:

https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_059.htm

+0

Danke @Simon Riddle für Ihre Hilfe, ich lese den Artikel, den Sie mir geschickt haben, werde ich Sie auf dem Laufenden halten. – Mac

+0

Hallo @ Simon Riddle! Ich habe den Konfigurationsserver Teil gemacht. Als ich die Klientenseite konfigurierte, erhielt ich den folgenden Fehler: org.springframework.jdbc.CannotGetJdbcConnectionException: Konnte JDBC Verbindung nicht erhalten; verschachtelte Ausnahme ist org.apache.commons.dbcp.SQLNestedException: PoolableConnectionFactory (com.informix.asf.IfxASFException) kann nicht erstellt werden – Mac

+0

Könnten Sie bitte helfen? Danke vielmals. – Mac