cancel
Showing results for 
Search instead for 
Did you mean: 

BOE 4.3 client on JBoss/Wildfly -

RandyStephenson
Newcomer
239

I’ve installed BOE 4.3 on Wildfly on 18.0.1. This server connect to a BOE server to produce Crystal reports. 

java.runtime.version = 1.8.0_352-b08

I followed the instruction and created a module for sapjce-14.3.3.4433.jar
Copied the DLLs to …

sapcrypto.dll
slcryptokernel.dll
slcryptokernel.dll.sha256

to the jre/bin

I made the java change to use:

import com.businessobjects.bcm.BCM;

 

The connection to the BOE server correctly  works and reports get created as they should.

But app monitoring via JMX to the app server that makes the call to the BOE server is failing. It looks as though the new SAPJCE classes are getting referenced in the call stack for a process that has nothing to do with calling the BOE server for reporting.

This error is generated every time a monitoring request is sent to the application server. Does anyone have any idea how to fix this?

2024-06-07 00:00:22,736 ERROR [org.jboss.threads.errors] (management task-1) Thread Thread[management task-1,5,main] threw an uncaught exception: java.lang.NoClassDefFoundError: sun/security/internal/spec/TlsKeyMaterialParameterSpec

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

     at javax.crypto.KeyGenerator.init(KeyGenerator.java:454)

     at javax.crypto.KeyGenerator.init(KeyGenerator.java:430)

     at sun.security.ssl.SSLTrafficKeyDerivation$LegacyTrafficKeyDerivation.<init>(SSLTrafficKeyDerivation.java:265)

     at sun.security.ssl.SSLTrafficKeyDerivation$T12TrafficKeyDerivationGenerator.createKeyDerivation(SSLTrafficKeyDerivation.java:115)

     at sun.security.ssl.SSLTrafficKeyDerivation.createKeyDerivation(SSLTrafficKeyDerivation.java:77)

     at sun.security.ssl.ECDHClientKeyExchange$ECDHEClientKeyExchangeConsumer.consume(ECDHClientKeyExchange.java:532)

     at sun.security.ssl.ClientKeyExchange$ClientKeyExchangeConsumer.consume(ClientKeyExchange.java:110)

     at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)

     at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)

     at sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:981)

     at sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:968)

     at java.security.AccessController.doPrivileged(Native Method)

     at sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:915)

     at io.undertow.protocols.ssl.SslConduit$5.run(SslConduit.java:1047)

     at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)

     at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)

     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)

     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)

     at java.lang.Thread.run(Thread.java:750)

 

MattMN
Discoverer
0 Kudos
Looking for info from @SAPSupport. The SAP documentation states "As of 4.3 SP2, sapjce.jar replaces certjFIPS.jar, cryptojFIPS.jar, ssljFIPS.jar, jcmFIPS.jar and cryptojce.jar." It's clear from the stackTrace posted above that the SAP class "TlsKeyMaterialKeyGenerator" is searching for "TlsKeyMaterialParameterSpec". What in SAP code is triggering this call? Where does it expect to find the sun/TlsKeyMaterialParameterSpec class? Is there a misssing jar? Should this be a default JRE or JBoss class somehwere?

Accepted Solutions (0)

Answers (0)