Pages

Friday, June 13, 2014

javax.security.auth.login.LoginException: java.lang.NoSuchMethodError: com/certicom/net/ssl/SSLContext.getCertificateSupport()Lcom/certicom/tls/interfaceimpl/CertificateSupport;

The following exception is thrown while login to the OIM using the t3s protocol OIM Client.

Error:

javax.security.auth.login.LoginException: java.lang.NoSuchMethodError: com/certicom/net/ssl/SSLContext.getCertificateSupport()Lcom/certicom/tls/interfaceimpl/CertificateSupport;
    at com.bea.sslplus.CerticomSSLContext.setTrustManager(Unknown Source)
    at weblogic.security.utils.SSLContextWrapper.<init>(SSLContextWrapper.java:62)
    at weblogic.security.utils.SSLContextWrapper.getInstance(SSLContextWrapper.java:55)
    at weblogic.security.utils.SSLSetup.getSSLContext(SSLSetup.java:323)
    at weblogic.security.SSL.SSLClientInfo.getSSLSocketFactory(SSLClientInfo.java:101)
    at weblogic.socket.ChannelSSLSocketFactory.getSocketFactory(ChannelSSLSocketFactory.java:178)
    at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:77)
    at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:119)
    at weblogic.socket.BaseAbstractMuxableSocket.createSocket(BaseAbstractMuxableSocket.java:133)
    at weblogic.rjvm.t3.MuxableSocketT3.newSocketWithRetry(MuxableSocketT3.java:214)
    at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:383)
    at weblogic.rjvm.t3.ConnectionFactoryT3S.createConnection(ConnectionFactoryT3S.java:44)
    at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1784)
    at weblogic.rjvm.ConnectionManager.findOrCreateConnection(ConnectionManager.java:1424)
    at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:443)
    at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:321)
    at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
    at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
    at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
    at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
    at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
    at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
    at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:96)
    at weblogic.security.auth.Authenticate.authenticate(Authentava:80)
    at weblogic.security.auth.login.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:184)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(weblogicLoginHandler.java:61)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:134)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:129)
    at sample.Client.main(Client.java:70)

    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(weblogicLoginHandler.java:61)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:134)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:129)
    at sample.Client.main(Client.java:70)
Exception in thread "Main Thread" java.lang.RuntimeException: javax.security.auth.login.LoginException: java.lang.NoSuchMethodError: com/certicom/net/ssl/SSLContext.getCertificateSupport()Lcom/certicom/tls/interfaceimpl/CertificateSupport;
    at com.bea.sslplus.CerticomSSLContext.setTrustManager(Unknown Source)
    at weblogic.security.utils.SSLContextWrapper.<init>(SSLContextWrapper.java:62)
    atic.security.utils.SSLContextWrapper.getInstance(SSLContextWrapper.java:55)
    at weblogic.security.utils.SSLSetup.getSSLContext(SSLSetup.java:323)
    at weblogic.security.SSL.SSLClientInfo.getSSLSocketFactory(SSLClientInfo.java:101)
    at weblogic.socket.ChannelSSLSocketFactory.getSocketFactory(ChannelSSLSocketFactory.java:178)
    at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:77)
    at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:119)
    at weblogic.socket.BaseAbstractMuxableSocket.createSocket(BaseAbstractMuxableSocket.java:133)
    at weblogic.rjvm.t3.MuxableSocketT3.newSocketWithRetry(MuxableSocketT3.java:214)
    at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:383)
    at weblogic.rjvm.t3.ConnectionFactoryT3S.createConnection(ConnectionFactoryT3S.java:44)
    at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1784)
    at weblogic.rjvm.ConnectionManager.findOrCreateConnection(ConnectionManager.java:1424)
    at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:443)
    at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:321)
    at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
    at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
    at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
    at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
    at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
    at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
    at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:96)
    at weblogic.security.auth.Authenticate.authenticate(Authenticate.java:80)
    at weblogic.security.auth.login.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:184)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(weblogicLoginHandler.java:61)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:134)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:129)
    at sample.Client.main(Client.java:70)

    at sample.Client.main(Client.java:80)
Caused by: javax.security.auth.login.LoginException: java.lang.NoSuchMethodError: com/certicom/net/ssl/SSLContext.getCertificateSupport()Lcom/certicom/tls/interfaceimpl/CertificateSupport;
    at com.bea.sslplus.CerticomSSLContext.setTrustManager(Unknown Source)
    at weblogic.security.utils.SSLContextWrapper.<init>(SSLContextWrapper.java:62)
    at weblogic.security.utils.SSLContextWrapper.getInstance(SSLContextWrapper.java:55)
    at weblogic.security.utils.SSLSetup.getSSLContext(SSLSetup.java:323)
    at weblogic.security.SSL.SSLClientInfo.getSSLSocketFactory(SSLClientInfo.java:101)
    at weblogic.socket.ChannelSSLSocketFactory.getSocketFactory(ChannelSSLSocketFactory.java:178)
    at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:77)
    at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:119)
    at weblogic.socket.BaseAbstractMuxableSocket.createSocket(BaseAbstractMuxableSocket.java:133)
    at weblogic.rjvm.t3.MuxableSocketT3.newSocketWithRetry(MuxableSocketT3.java:214)
    at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:383)
    at weblogic.rjvm.t3.ConnectionFactoryT3S.createConnection(ConnectionFactoryT3S.java:44)
    at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1784)
    at weblogic.rjvm.ConnectionManager.findOronnection(ConnectionManager.java:1424)
    at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:443)
    at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:321)
    at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
    at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
    at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
    at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
    at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
    at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
    at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:96)
    at weblogic.security.auth.Authenticate.authenticate(Authenticate.java:80)
    at weblogic.security.auth.login.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:184)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(weblogicLoginHandler.java:61)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:134)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:129)
    at sample.Client.main(Client.java:70)

    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at javax.security.auth.login.LoginContext.invokePriv(Logit.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at Thor.API.Security.LoginHandler.weblogicLoginHandler.login(weblogicLoginHandler.java:61)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:134)
    at oracle.iam.platform.OIMClient.login(OIMClient.java:129)
    at sample.Client.main(Client.java:70)
:run FAILED

Cause: The above error throwing due to classpath issues.

Solution:

The following jar files needs to be present in the classpath. They are


oimclient.jar
iam-platform-auth-client.jar
iam-platform-utils.jar
iam-platform-context.jar
iam-platform-pluginframework.jar
XellerateClient.jar
XellerateServer.jar
spring.jar
security-api.jar
commons-logging.jar
logging-utils.jar
jakarta-oro-2.0.8.jar
bsh.jar
jhall.jar
mail.jar
log4j-1.2.8.jar
jts.jar
concurrent.jar
getopt.jar
gnu-regexp.jar
jacorb.jar
jcert.jar
jmx-connector-client-factory.jar
jmx-ejb-connector-client.jar
jsse.jar
jnet.jar
jmx-rmi-connector-client.jar
jmx-invoker-adapter-client.jar
jnp-client.jar
log4j.jar
jocache.jar
xlAPI.jar
xlLogger.jar
xlVO.jar
xlUtils.jar
xlCrypto.jar
xlAuthentication.jar
xlDataObjectBeans.jar
wlfullclient.jar
webserviceclient+ssl.jar
xlCopyUtil.jar
xalan.jar
xerces.jar
xercesImpl.jar
oscache.jar
commons-logging.jar
javagroups-all.jar
cryptoj.jar