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