Support Article
Problem with imported Cryptoj.jar file
SA-39996
Summary
Trying to use new CryptoJ libraries for digital signature usage. These conflict with older CryptoJ files that come with WebLogic 10.3. The user imported the newer CrytoJ files into PRPC and got numerous errors.
Error Messages
Caused by: java.lang.NoClassDefFoundError: com/rsa/cryptoj/o/co
at com.rsa.jsafe.crypto.CryptoJ.isFIPS140Compliant(Unknown Source)
at com.pegarules.generated.activity.sh_action_testcryptoj_363526d3da84b0054d97a1dce1aca410.step1_circum0(sh_action_testcryptoj_363526d3da84b0054d97a1dce1aca410.java:188)
at com.pegarules.generated.activity.sh_action_testcryptoj_363526d3da84b0054d97a1dce1aca410.perform(sh_action_testcryptoj_363526d3da84b0054d97a1dce1aca410.java:71)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3520)
Steps to Reproduce
Not applicable
Root Cause
The problem is that older CryptoJ libraries ship with WebLogic in the modules directory. Since the class loader is using Parent first these are picked up and used. Client wants to override the WebLogic CryptoJ libraries with new versions added to the PRPC deployment.
Resolution
Do not import these libraries into PRPC database:
certj.jar
cryptocommon.jar
crytojce.jar
jcmFIPS.jar
These will get expanded into the PRPC pr_engineclasses Database table and errors will occur because of security implimented in the jar file packaging.
Instead these file have to be deployed with PRPC:
1) Add files to [prpc_j2ee14.ear]APP-INF/LIB
2) Modify [prpc_j2ee14.ear]META-INF/MANIFEST.MF adding the following to the Class-Path entry :
APP-INF/lib/certj.jar APP-INF/lib/cryptojcommon.jar APP-INF/lib/cryptojce.jar APP-INF/lib/jcmFIPS.jar
3) Modify [prpc_j2ee14.ear]META-INF/weblogic-application.xml:
<prefer-application-packages>
<package-name>com.rsa.*</package-name>
</prefer-application-packages>
This is done within the weblogic-application node.
4) Redeploy the prpc_j2ee14.ear.
Published August 26, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.