on 07-31-2012 10:29 AM
Hi,
I trying to use the Java SDK to view crystal report that reside in another server from my application server.
I get the following error when the jsp try to execute the following line
IEnterpriseSession enterpriseSession = sessionMgr.logon(username, password, serverHost+serverPort, "secEnterprise");
]] Root cause of ServletException.
com.crystaldecisions.sdk.exception.SDKException$ConfidentialChannelFailed: Failed to establish confidential channel. (FWM 02119)
cause:com.businessobjects.bcm.exception.FIPSError: Cryptographic library is not FIPS-140-compliant.
detail:Failed to establish confidential channel. (FWM 02119) Cryptographic library is not FIPS-140-compliant.
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.LogonService.doUserLogon(LogonService.java:985)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:292)
at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:191)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody2(SessionMgr.java:446)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody3$advice(SessionMgr.java:42)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)
at jsp_servlet.__crystalreportviewer._jspService(__crystalreportviewer.java:130)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
Application server i am using is weblogic 11g
May i know how can i resolve or bypass this error ?
Thanks.
Regards
Dennis
Hi,
Update to the problem.
I manage to pin-point the root cause of the problem.
The cryptojFIPS.jar of Businness Object 4.0 clashes with the cryptoj.jar of weblogic own library.
cryptoj.class is used in both jar files and weblogic uses its own cryptoj.jar to check the integrity of the connection.
The method isFIPS140Compliant() in cryptoj.jar return false for the key check
The method isFIPS140Compliant() in cryptojFIPS.jar return true for the key check
The key is hardcoded inside the crystaldecision lib. The only method i can think of is to assign priority for the weblogic to use the cryptojFIPS.jar first before using its own cryptoj.jar.
I believe this will be issue faced for people using BO4.0 with weblogic 11g (Managed Report). Unless there is an update of the SDK.
Anyone have any other suggestion ? Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I encountered the same problem while trying to invoke the logon()
method of SessionMag
. The problem does indeed seem to be that there is a conflict between the cryptoj.jar libraries. The cryptoj.jar that I needed to reference is located in my WEB-INF/lib folder, so the solution that worked for me was to insert the configuration setting below into my weblogic.xml
file. In your weblogic.xml
file, add the following bolded line to the <wls:container-descriptor>
section:
<wls:weblogic-web-app>
<wls:container-descriptor>
<wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
</wls:container-descriptor>
</wls:weblogic-web-app>
I am facing this error too...on this
IEnterpriseSession enterpriseSession = sessionMgr.logon(username, password, serverHost+serverPort, "secEnterprise");
The jars I placed in WebContent/WEB-INF/lib folder are
CryptojFIPS.jar
certjFIPS.jar
ssljFIPS.jar
I am using the same opton in my weblogic.xml
<wls:weblogic-web-app>
<wls:container-descriptor>
<wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
</wls:container-descriptor>
</wls:weblogic-web-app>
Still I am getting the same exception...
In case you do not work on web application but still experience the same problem I was able to fix it by modifying weblogic-application.xml config file on my EAR project by adding:
<wls:prefer-application-packages>
<wls:package-name>com.rsa</wls:package-name>
</wls:prefer-application-packages>
See this nice article from Oracle Understanding WebLogic Server Application Classloading
Hope it helps!
User | Count |
---|---|
81 | |
11 | |
10 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.