cancel
Showing results for 
Search instead for 
Did you mean: 

Migration BO4.1 to BO4.3 sp3 patch 7 logon is depricated and not working

querrec
Explorer
0 Kudos

I get all equivalent jars from installed repo of business object 4.3, i delete all jar bo4.1 then i copy sapjce.jar in C:\sapjvm1.8\sapjvm_8\jre\lib\ext then i copy sapcrypto.dll, slcryptokernel.dll, slcryptokernel.dll.sha256 in C:\sapjvm1.8\sapjvm_8\jre\bin

So despite this manipulation i still have the same error!

déc. 11, 2023 11:19:14 AM com.sap.commoncryptolib.provider.SAPJCE traceProviderInfo

INFOS:

SAPJCE version : 8.5.51

CommonCryptoLib : null

CommonCryptoLib version : 8.5.51

Crypto Kernel version : 8.4.47

FIPS 140-2 mode : YES

Exception at logon()

com.crystaldecisions.sdk.exception.SDKException$ConfidentialChannelFailed: Impossible d'établir un canal confidentiel. (FWM 02119)

cause:com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(DerInputStream.getLength(): Redundant length bytes found). Please validate recently changed internal code. (DerInputStream.getLength(): Redundant length bytes found)

detail:Impossible d'établir un canal confidentiel. (FWM 02119) An unexpected error occurred(DerInputStream.getLength(): Redundant length bytes found). Please validate recently changed internal code. (DerInputStream.getLength(): Redundant length bytes found)

at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.establishConfidentialChannel(ConfidentialChannelService.java:217)

at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.createConfidentialChannel(ConfidentialChannelService.java:149)

at com.crystaldecisions.sdk.occa.security.internal.CCMap.locateCCItem(CCMap.java:63)

at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:1057)

at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:1011)

at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:301)

at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:168)

at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:800)

at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)

at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody2(SessionMgr.java:828)

at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody3$advice(SessionMgr.java:528)

at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)

at fr.maafvie.batch.demat.bo4.utils.testapp.main(testapp.java:23)

Caused by: com.businessobjects.bcm.exception.UnexpectedError: An unexpected error occurred(DerInputStream.getLength(): Redundant length bytes found). Please validate recently changed internal code. (DerInputStream.getLength(): Redundant length bytes found)

at com.businessobjects.bcm.internal.DHKeyAgreeImpl.<init>(DHKeyAgreeImpl.java:43)

at com.businessobjects.bcm.BCM.createKeyAgreement(BCM.java:1096)

at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.establishConfidentialChannel(ConfidentialChannelService.java:187)

... 12 more

Caused by: java.io.IOException: DerInputStream.getLength(): Redundant length bytes found

at sun.security.util.DerInputStream.getLength(DerInputStream.java:623)

at sun.security.util.DerInputStream.getLength(DerInputStream.java:586)

at sun.security.util.DerInputStream.getDefiniteLength(DerInputStream.java:649)

at sun.security.util.DerInputStream.getBigInteger(DerInputStream.java:206)

at com.sap.commoncryptolib.provider.AlgorithmParametersDH.engineInit(Unknown Source)

at java.security.AlgorithmParameters.init(AlgorithmParameters.java:293)

at com.businessobjects.bcm.internal.DHKeyAgreeImpl.<init>(DHKeyAgreeImpl.java:40)

... 14 more

Best regards!

Accepted Solutions (0)

Answers (2)

Answers (2)

ayman_salem
Active Contributor

It's best to download the latest version SAP JVM 8.1 from SAP and it contains all the latest changes.

the problem is due to the enhancement made in the SAP Common Crypto Libraries(CCL)

see KBA 3392922 - CCL version incompatibility causes logon failure

In CCL version 8.5.48 there are some enhancement done by CCL team, which causes backward incomptibitliy of CCL higher versions (> 8.5.48) with CCL lower versions (< 8.5.48). This incompatibility is affecting only on the logon workflows whereas other cryptographic operations are not impacted

querrec
Explorer
0 Kudos

I have already downloaded it, and without adding the sapjce.jar and the dll like mentioned above, i get this error

Exception in thread "main" java.lang.NoClassDefFoundError: com/sap/commoncryptolib/provider/SAPJCE

at fr.maafvie.batch.demat.bo4.utils.testapp.main(testapp.java:19)

Caused by: java.lang.ClassNotFoundException: com.sap.commoncryptolib.provider.SAPJCE

at java.net.URLClassLoader.findClass(URLClassLoader.java:449)

at java.lang.ClassLoader.loadClass(ClassLoader.java:482)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:388)

at java.lang.ClassLoader.loadClass(ClassLoader.java:415)

... 1 more

ayman_salem
Active Contributor
0 Kudos

So add sapjce.jar file and other required JAR files to your Java project,
You can find all necessary jar in the BI 4.3 Java/lib directory.

querrec
Explorer
0 Kudos

That's exactly what I did (with java 8 downloaded from SAP platform) but I still get the same error.

ayman_salem
Active Contributor
0 Kudos

As I can see from the error in your main question, the error was due to using an incorrect JVM version.

The second error in your answer was due to your Java project missing the required JAR file (in the classpath).

So it was two different things, one for JVM and the other for your Java program.


Therefore, make sure that you are using the correct SAPJVM that corresponds to your BI Server version.

you can find the complete SAP JVM, which is delivered with BI 4.3 SP03-Patchxxx, in the directory

....\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win64_x64

and the necessary Jar file for your Java Program under
......\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib

querrec
Explorer
0 Kudos

Thanks Ayman for answering but unfortunatly the error stil exist!!

querrec
Explorer
0 Kudos

Finally i fixed the issues by upgrading the BO4.3 sp3 700 to BO4.3 SP04

Many thanks!

DellSC
Active Contributor
0 Kudos

There was a major upgrade of the security libraries at 4.2 SP4. So, you need to reference some additional libraries:

certjFIPS.jar
cryptojFIPS.jar
cryptojce.jar
encrypt.jar
fressl201.jar
jsmFIPS.jar
ssljFIPS.jar
guice-1.0.jar

The other thing I found after this upgrade was that I couldn't just compile the libraries into my .jar files. I had to compile with the libraries "next to" the .jar. And not all of the above .jar files were included in the library folder next to the .jar - some of them I had to copy in manually to get it all working.

-Dell

querrec
Explorer

I need to make an upgrad to the 4.3 version not 4.2, so these jars are not available, its replaced with a common library witch contains:

  • sapjce.jar
  • sapcrypto.dll
  • slcryptokernel.dll
  • slcryptokernel.dll.sha256

as montioned in this documentation : https://me.sap.com/notes/3101582

thanks in advance!