Support Article
Unable to initialize Bouncy Castle JCE provider java.lang.Intern
SA-48502
Summary
While restarting the JVM , PegaRULES logs show error.
Error Messages
2017-11-08 20:43:47,659 [fault (self-tuning)'] [ ] [ ] ( util.crypto.PRCryptoImpl) ERROR - Unable to initialize Bouncy Castle JCE provider
java.lang.InternalError: cannot create instance of org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings : java.lang.ClassCastException: org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings cannot be cast to org.bouncycastle.jcajce.provider.util.AlgorithmProvider
at org.bouncycastle.jce.provider.BouncyCastleProvider.loadAlgorithms(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider.setup(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider.access$000(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at org.bouncycastle.jce.provider.BouncyCastleProvider.<init>(Unknown Source)
at com.pega.pegarules.exec.internal.util.crypto.PRCryptoImpl.registerProviders(PRCryptoImpl.java:265)
at com.pega.pegarules.exec.internal.util.crypto.PRCryptoImpl.getInstance(PRCryptoImpl.java:287)
at com.pega.pegarules.exec.internal.PRExecProviderImpl.getCrypto(PRExecProviderImpl.java:389)
at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.<clinit>(ParUtilsImpl.java:165)
at com.pega.pegarules.deploy.internal.PRDeployProviderImpl.getParUtils(PRDeployProviderImpl.java:98)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:513)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:165)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:138)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.doStartup(EngineBean.java:121)
Steps to Reproduce
Restart system
Root Cause
A defect or configuration issue in the operating environment.
A different version of the same bouncy castle jar that Pega provides with the platform is also available on classpath.
Having multiple versions of the same classes on the classpath can lead to this type of issue as which one gets used is non-deterministic.
The version that user is including on the classpath is conflicting with the version that Pega provides OOTB.
Resolution
Make the following change to the operating environment:
Remove the redundant jar from the classpath.
Published February 14, 2018 - 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.