Skip to main content
This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Unable to initialize Bouncy Castle JCE provider java.lang.Intern



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$ Source)
at Method)
at org.bouncycastle.jce.provider.BouncyCastleProvider.<init>(Unknown Source)
at com.pega.pegarules.exec.internal.util.crypto.PRCryptoImpl.registerProviders(
at com.pega.pegarules.exec.internal.util.crypto.PRCryptoImpl.getInstance(
at com.pega.pegarules.exec.internal.PRExecProviderImpl.getCrypto(
at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.<clinit>(
at com.pega.pegarules.deploy.internal.PRDeployProviderImpl.getParUtils(
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.doStartup(

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.


Make the following change to the operating environment:

Remove the redundant jar from the classpath.
Suggest Edit

Published February 14, 2018 - Updated October 8, 2020

Did you find this content helpful? Yes No

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us