Support of Oracle Advance Security (OAS) with WebSphere Application Server data source using Oracle JDBC Thin

Technote (troubleshooting)


Problem(Abstract)

WebSphere Application Server does not support data encryption for data sources using the 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 Application Server Connection Manager uses the OracleConnectionPoolDataSource for the data source implementation. This OracleConnectionPoolDataSource does have the interface getConnection (URL, prop). It is now possible to pass the connection parameters to the Oracle driver. For information on how to set these parameters see the technote, Using Oracle JDBC driver specific properties through a datasource.


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

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

WebSphere Application Server
DB Connections/Connection Pooling

Software version:

6.0, 6.1, 7.0, 8.0, 8.5, 8.5.5

Operating system(s):

AIX, HP-UX, IBM i, Linux, Solaris, Windows, i5/OS

Software edition:

Edition Independent

Reference #:

1181876

Modified date:

2013-05-10

Translate my page

Machine Translation

Content navigation