SunJSSE on IBM platforms (AIX and z/OS)
843811Sep 24 2003 — edited Jul 11 2006I am trying to use the 1.42 SunJSSE provider on IBM platforms, instead of their IBMJSSE. So far, I have been able to add the SUN, SunJSSE, and SunJCE providers programatically (not sure if I need them all). I have added 1.4 jsse.jar, jce.jar, and sunjce_provider.jar to the classpath. However, I still am getting a missing ClassDef:
/common/users/wmlrvg $ . .listener 1701 -Dssle -Dhost.name=tabla
2003-09-23 11:40:56,686 [main] INFO:Logger writing to file TABLA_1701.log
2003-09-23 11:40:56,701 [main] INFO:Creating listener socket
2003-09-23 11:40:57,819 [main] INFO:Adding Provider SUN
2003-09-23 11:40:57,823 [main] INFO:Adding Provider SunJSSE
2003-09-23 11:40:57,829 [main] INFO:Adding Provider SunJCE
2003-09-23 11:40:57,867 [main] INFO:Security Provider 0 = IBMJSSE version 1.4
2003-09-23 11:40:57,868 [main] INFO:Security Provider 1 = IBMJCE version 1.2
2003-09-23 11:40:57,885 [main] INFO:Security Provider 2 = IBMJGSSProvider version 1.0
2003-09-23 11:40:57,886 [main] INFO:Security Provider 3 = IBMCertPath version 1.0
2003-09-23 11:40:57,887 [main] INFO:Security Provider 4 = SUN version 1.2
2003-09-23 11:40:57,887 [main] INFO:Security Provider 5 = SunJSSE version 1.42
2003-09-23 11:40:57,888 [main] INFO:Security Provider 6 = SunJCE version 1.42
2003-09-23 11:40:57,922 [main] INFO:Using Provider SunJSSE, and X509 class SunX509
2003-09-23 11:40:58,078 [main] ERROR:Exception caught in main thread=sun/security/validator/KeyStores
java.lang.NoClassDefFoundError: sun/security/validator/KeyStores
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.<init>(DashoA6275)
at com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$SimpleFactory.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl.engineInit(DashoA6275)
at javax.net.ssl.TrustManagerFactory.init(Unknown Source)
at omnienterprise.security.OmniSocketFactory.setupContext(OmniSocketFactory.java:506)
at omnienterprise.security.OmniSocketFactory.createServerSocket(OmniSocketFactory.java:387)
at omnienterprise.oe.OmniListener.<init>(OmniListener.java:199)
at omnienterprise.oe.OmniListener.main(OmniListener.java:127)
/common/users/wmlrvg $
This occurs in my code at initializing the TrustManagerFactory:
...
// Get the omni keystore loaded in - use as a TrustManager and KeyManager both
String file = "";
if (path != null)
file = path;
file += "omnicert";
ks.load(new FileInputStream(file), s1.toCharArray());
kmf.init(ks, s1.toCharArray());
tmf.init(ks);
ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
The code, an application, works fine on Windows and Solaris (and AS/400!) platforms.
What other jar files am I missing? Thanks in advance for any help.