|Problems while loading JSSE Java classes into Oracle 9i [message #386947]
||Tue, 17 February 2009 06:02
Registered: February 2009
Secure HTTPS Communication From Java Stored Procedure Using JSSE:|
We are using HTTPS for communications between the Java client and the database via Oracle java stored procedure. As HTTPS protocol is not supported from the Oracle HTTPClient library, we are planning to use the Sun Microsystem's JSSE libraries because it is the standard technique to implement HTTPS calls from Java procedures. Since JSSE is an optional package for J2SDK versions 1.2.x and 1.3.x we want to load them into the Oracle JVM using the LOADJAVA utility.
When trying to load JSSE Jars into Oracle 9i database we are getting problems. Details of the errors and steps followed are listed below.
We followed an Oracle White paper (attached as pdf) to load the JSSE Jars / java classes into oracle database
1. Downloaded the JSSE Jars version 1.3 from http://java.sun.com/products/jsse/index-103.html.
2. Copy the cacerts file from $ORACLE_HOME/jre/1.4.2/lib/security/cacerts to $ORACLE_HOME/javavm/lib/security/cacerts
3. Copied the JSSE jar files (jnet.jar, jcert.jar and jsse.jar) to $ORACLE_HOME/javavm/lib
4. Created a schema "JSSE" for loading the JSSE objects:
GRANT connect, resource, unlimited tablespace, create public synonym, drop public synonym, javasyspriv TO JSSE IDENTIFIED BY JSSE;
5. Connected to JSSE user
6. Loaded the JSSE jar files using the below command
CALL dbms_java.loadjava(' -r -v -definer -g public $ORACLE_HOME/javavm/lib/jcert.jar $ORACLE_HOME/javavm/lib/jnet.jar $ORACLE_HOME/javavm/lib/jsse.jar');
We got several errors saying grants for classes are being skipped. Pls see some sample errors below
skipping : class com/sun/net/ssl/internal/ssl/SunJSSE_c
granting : execute on class com/sun/net/ssl/internal/ssl/MAC to public
skipping : class com/sun/net/ssl/internal/ssl/MAC
granting : execute on class com/sun/net/ssl/internal/ssl/CipherSpec to public
skipping : class com/sun/net/ssl/internal/ssl/CipherSpec
granting : execute on class com/sun/net/ssl/internal/ssl/ServerHandshaker topublic
We are having Oracle database (Oracle9i Enterprise Edition Release 126.96.36.199.0)
OS MS Windows 2003 server
Jars being loaded:
a. JSSE Jars -> jnet.jar, jcert.jar, and jsse.jar (All JSSE Jars of version 1.3 downloaded from Sunjava - http://java.sun.com/products/jsse/index-103.html )
Appreciate your inputs/help in resolving this.
Attached zip is havng 3 files (1) Word doc with steps executed & sequence (2) errors listing (3) PDF -An oracle whitepaper which is used as base