on 06-11-2018 1:51 PM
Hi All,
we have upgraded out BO 4.1 to BO 4.2 SP5.
We have a java custom SSO login with SessionManager class. After the upgrade do not work anymore. We updated these jars with the respective latest version:
bcm, certjFIPS, cryptojce, cryptojFIPS, jcmFIPS, ssljFIPS
and here the java code:
ISessionMgr ism = CrystalEnterprise.getSessionMgr();
IEnterpriseSession sess = ism.logon(username, password, host + ":" + cmsPort, "secEnterprise");
we get this runtime error:
Jun 11, 2018 1:28:30 PM com.altevie.nbeghin.wfp.Retriever doGet
SEVERE: java.lang.Exception: com.crystaldecisions.sdk.exception.SDKException$ConfidentialChannelFailed: Failed to establish confidential channel. (FWM 02119)
cause:com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
detail:Failed to establish confidential channel. (FWM 02119) An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
Jun 11, 2018 1:28:30 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [com.altevie.nbeghin.wfp.Retriever] in context with path [/BODocRetriever] threw exception [java.lang.Exception: java.lang.Exception: com.crystaldecisions.sdk.exception.SDKException$ConfidentialChannelFailed: Failed to establish confidential channel. (FWM 02119)
cause:com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
detail:Failed to establish confidential channel. (FWM 02119) An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)] with root cause
com.rsa.jsafe.JSAFE_UnimplementedException: Algorithm not supported on any devices
at com.rsa.jsafe.JSAFE_PublicKey.a(Unknown Source)
at com.rsa.jsafe.JSAFE_PublicKey.a(Unknown Source)
at com.rsa.jsafe.JSAFE_PublicKey.getInstance(Unknown Source)
at com.businessobjects.bcm.internal.ECDHKeyAgreeImpl.<init>(ECDHKeyAgreeImpl.java:31)
at com.businessobjects.bcm.BCM.createKeyAgreement(BCM.java:1082)
at com.businessobjects.bcm.BCM.createKeyAgreement(BCM.java:1086)
at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.establishConfidentialChannel(ConfidentialChannelService.java:175)
at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.createConfidentialChannel(ConfidentialChannelService.java:145)
at com.crystaldecisions.sdk.occa.security.internal.CCMap.locateCCItem(CCMap.java:63)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:845)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:805)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:210)
at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:166)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:454)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:512)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)
at com.altevie.nbeghin.wfp.AbstractBOServlet.createSession(AbstractBOServlet.java:151)
at com.altevie.nbeghin.wfp.AbstractBOServlet.getDocTicketURL(AbstractBOServlet.java:84)
at com.altevie.nbeghin.wfp.Retriever.doGet(Retriever.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:808)
at org.apache.logging.log4j.core.config.xml.XmlConfiguration.newDocumentBuilder(XmlConfiguration.java:194)
at org.apache.logging.log4j.core.config.xml.XmlConfiguration.<init>(XmlConfiguration.java:92)
at org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory.getConfiguration(XmlConfigurationFactory.java:46)
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:453)
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:385)
at org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:260)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:615)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:307)
at org.apache.log4j.Logger$PrivateManager.getContext(Logger.java:59)
at org.apache.log4j.Logger.getLogger(Logger.java:41)
at com.altevie.nbeghin.wfp.AbstractBOServlet.<clinit>(AbstractBOServlet.java:51)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:451)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:808)
ERROR StatusLogger Caught java.lang.AbstractMethodError setting feature http://apache.org/xml/features/nonvalidating/load-external-dtd to false on DocumentBuilderFactory org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@2d11d80: java.lang.AbstractMethodError: Class "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl" does not implement the requested method "setFeature(Ljava/lang/String;Z)V" inherited from abstract class "javax.xml.parsers.DocumentBuilderFactory"
java.lang.AbstractMethodError: Class "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl" does not implement the requested method "setFeature(Ljava/lang/String;Z)V" inherited from abstract class "javax.xml.parsers.DocumentBuilderFactory"
at org.apache.logging.log4j.core.config.xml.XmlConfiguration.setFeature(XmlConfiguration.java:213)
at org.apache.logging.log4j.core.config.xml.XmlConfiguration.disableDtdProcessing(XmlConfiguration.java:207)
at org.apache.logging.log4j.core.config.xml.XmlConfiguration.newDocumentBuilder(XmlConfiguration.java:194)
at org.apache.logging.log4j.core.config.xml.XmlConfiguration.<init>(XmlConfiguration.java:92)
at org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory.getConfiguration(XmlConfigurationFactory.java:46)
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:453)
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:385)
at org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:260)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:615)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:307)
at org.apache.log4j.Logger$PrivateManager.getContext(Logger.java:59)
at org.apache.log4j.Logger.getLogger(Logger.java:41)
at com.altevie.nbeghin.wfp.AbstractBOServlet.<clinit>(AbstractBOServlet.java:51)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:451)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:808)
java.lang.Exception: java.lang.Exception: com.crystaldecisions.sdk.exception.SDKException$ConfidentialChannelFailed: Failed to establish confidential channel. (FWM 02119)
cause:com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
detail:Failed to establish confidential channel. (FWM 02119) An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
at com.altevie.nbeghin.wfp.AbstractBOServlet.getDocTicketURL(AbstractBOServlet.java:101)
at com.altevie.nbeghin.wfp.Retriever.doGet(Retriever.java:69)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:808)
Caused by: java.lang.Exception: com.crystaldecisions.sdk.exception.SDKException$ConfidentialChannelFailed: Failed to establish confidential channel. (FWM 02119)
cause:com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
detail:Failed to establish confidential channel. (FWM 02119) An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
at com.altevie.nbeghin.wfp.AbstractBOServlet.createSession(AbstractBOServlet.java:156)
at com.altevie.nbeghin.wfp.AbstractBOServlet.getDocTicketURL(AbstractBOServlet.java:84)
... 24 more
Caused by: com.crystaldecisions.sdk.exception.SDKException$ConfidentialChannelFailed: Failed to establish confidential channel. (FWM 02119)
cause:com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
detail:Failed to establish confidential channel. (FWM 02119) An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.establishConfidentialChannel(ConfidentialChannelService.java:199)
at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.createConfidentialChannel(ConfidentialChannelService.java:145)
at com.crystaldecisions.sdk.occa.security.internal.CCMap.locateCCItem(CCMap.java:63)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:845)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:805)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:210)
at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:166)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:454)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:512)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)
at com.altevie.nbeghin.wfp.AbstractBOServlet.createSession(AbstractBOServlet.java:151)
... 25 more
Caused by: com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(Algorithm not supported on any devices). Please validate recently changed internal code. (Algorithm not supported on any devices)
at com.businessobjects.bcm.internal.ECDHKeyAgreeImpl.<init>(ECDHKeyAgreeImpl.java:39)
at com.businessobjects.bcm.BCM.createKeyAgreement(BCM.java:1082)
at com.businessobjects.bcm.BCM.createKeyAgreement(BCM.java:1086)
at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.establishConfidentialChannel(ConfidentialChannelService.java:175)
... 35 more
Caused by: com.rsa.jsafe.JSAFE_UnimplementedException: Algorithm not supported on any devices
at com.rsa.jsafe.JSAFE_PublicKey.a(Unknown Source)
at com.rsa.jsafe.JSAFE_PublicKey.a(Unknown Source)
at com.rsa.jsafe.JSAFE_PublicKey.getInstance(Unknown Source)
at com.businessobjects.bcm.internal.ECDHKeyAgreeImpl.<init>(ECDHKeyAgreeImpl.java:31)
... 38 more<br>
Any idea?
Many Thanks!
Gennaro
There were MAJOR changes to the security .jars starting with 4.2 SP4. So, you'll need to reference/deploy the new 4.2 SP5 jars with your SSO application - not just the security ones you mentioned, you need ALL of them that are being used by the application.
The good news is that there aren't any changes to your code that are required for this. I did some beta-testing with the various SDKs for this version and didn't have to make any changes to my code.
-Dell
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
GREAT, it works. We updated ALL jar files with the new versions. I also confirm that it's not been necessary to update our code.
Thank you Bharath and Dell!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
is all the .jar files replaced by SP05 latest .jars ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I'm not certain that it's causing the error, but try removing cryptojce.jar and jcmFIPS.jar from your classpath.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Joe, I tried to remove both but with no success:
java.lang.NoClassDefFoundError: Could not initialize class com.rsa.cryptoj.o.co
at
com.rsa.jsafe.CryptoJ.isFIPS140Compliant(Unknown Source)
at
com.businessobjects.bcm.internal.BcmRsaLib.initialize(BcmRsaLib.java:214)
at
com.businessobjects.bcm.internal.BcmRsaLib.<clinit>(BcmRsaLib.java:289)
at
com.businessobjects.bcm.BCM.<clinit>(BCM.java:1158)
at
com.crystaldecisions.enterprise.ocaframework.BCMInitializer.run(BCMInitializer.java:29)
at
java.lang.Thread.run(Thread.java:745)
thanks anyway!
User | Count |
---|---|
81 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.