cancel
Showing results for 
Search instead for 
Did you mean: 

Failed to establish confidential channel. (FWM 02119) when using crystalReportViewer

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

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>
Former Member
0 Kudos

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...

Former Member
0 Kudos

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!

Answers (0)