Support of Oracle Advance Security (OAS) with WebSphere data source using Oracle JDBC Thin
 Technote (troubleshooting)
 
Problem(Abstract)
WebSphere® data source does not support data encryption using Oracle JDBC™ Thin driver.
 
Cause
The Oracle Advanced Security (OAS) option enables data encryption. Both Oracle JDBC OCI Thin and Thick support some of the features of OAS. This support has been available since Oracle 8.1.6 and onwards.
The OAS parameters for data encryption are:

oracle.net.encryption_client
oracle.net.encryption_types_client
oracle.net.crypto_checksum_client
oracle.net.crypto_checksum_types_client

When using the Oracle JDBC Thin driver, Oracle offers encryption in the oracle.net package. The parameters are set through the Java™ properties object, which can be used in opening database connection; only the DriverManager has the getConnection interface that allows the properties object to be passed to the getConnection.

WebSphere Connection Manager uses the OracleConnectionPoolDataSource for the data source implementation. This OracleConnectionPoolDataSource does have the interface getConnection (URL, prop). There is no way for WebSphere to support the OAS data encryption because there is no way to pass the Java properties object in the getConnection to Oracle.

This is not a problem with WebSphere Application Server, it is a limitation with the Oracle JDBC Thin driver.

For more information on this subject, see Oracle MetaLink:
Note: 104410.1
Subject: How to Enable Encryption & Checksumming using JDBC Drivers
 
Resolving the problem
  1. Use the Oracle JDBC OCI driver. The parameters can be enabled in the SQLNET.ORA file (Oracle Network client's configuration file on the WebSphere Application Server system).

  2. Use DriverManager to get the connection to Oracle; for example, not using WebSphere data source.

    Sample code using DriverManager:

    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

    Properties props = new Properties(); try {
    props.put("oracle.net.encryption_client", "REQUIRED");
    props.put("oracle.net.encryption_types_client", "RC4_40 ");
    props.put("oracle.net.crypto_checksum_client","REQUESTED");
    props.put("oracle.net.crypto_checksum_types_client", " MD5 ");
    props.put("user", "scott");
    props.put("password","tiger");

    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:<@>dlsun608.us.oracle.com:1521:main", props);

 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > DB Connections/Connection Pooling
Operating system(s): Windows
Software version: 6.0
Software edition:
Reference #: 1181876
IBM Group: Software Group
Modified date: Oct 13, 2004