MALLESH Vinjamuri
MALLESH Vinjamuri

Reputation: 31

java.lang.ClassNotFoundException: org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding

Trying to encrypt using .cer. It works in the local system but getting error when I move to production. I have the bcprov-jdk15on-158.jar file at Live server.

Source code

public static byte[] encryptUsingPublicKey(byte[] data, PublicKey publicKey) throws IOException, GeneralSecurityException {
    Cipher pkCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "BC");//Here iam Getting Error
    pkCipher.init(Cipher.ENCRYPT_MODE, publicKey);
    byte[] encSessionKey = pkCipher.doFinal(data);
    return encSessionKey;
}

error stack trace

        INFO: Illegal access: this web application instance has been stopped already.  Could not load org.bouncycastle.jca.provider.asymmetric.rsa.CipherSpi$NoPadding.  The eventual following stack trace is caused by an error thrown forbugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functio impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1777)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
        at java.security.Provider$Service.getImplClass(Provider.java:1636)
        at java.security.Provider$Service.newInstance(Provider.java:1592)
        at javax.crypto.Cipher.getInstance(Cipher.java:668)
        at javax.crypto.Cipher.getInstance(Cipher.java:595)
        at in.gov.cgg.struts.utilities.common.TAEncrypter.encryptUsingPublicKey(TAEncrypter.java:134)
        at in.gov.cgg.struts.utilities.common.TAEncrypter.EncryptRequest(TAEncrypter.java:57)

       ...

java.security.NoSuchAlgorithmException: No such algorithm: RSA/ECB/PKCS1Padding
        at javax.crypto.Cipher.getInstance(Cipher.java:687)
        at javax.crypto.Cipher.getInstance(Cipher.java:595)
        at in.gov.cgg.struts.utilities.common.TAEncrypter.encryptUsingPublicKey(TAEncrypter.java:134)
        at in.gov.cgg.struts.utilities.common.TAEncrypter.EncryptRequest(TAEncrypter.java:57)
        at in.gov.cgg.struts.actions.RequestHandlerAction.unspecified(RequestHandlerAction.java:78)
        at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:256)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
       ....
Caused by: java.security.NoSuchAlgorithmException: class configured for Cipher (provider: BC) cannot be found.
        at java.security.Provider$Service.getImplClass(Provider.java:1649)
        at java.security.Provider$Service.newInstance(Provider.java:1592)
        at javax.crypto.Cipher.getInstance(Cipher.java:668)
        ... 32 more
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
        at java.security.Provider$Service.getImplClass(Provider.java:1636)
        ... 34 more

Upvotes: 3

Views: 4001

Answers (1)

eduPeeth
eduPeeth

Reputation: 1868

java.lang.ClassNotFoundException generated when the class is not available in your classpath. Check you classpath included the expected jar. Even it is on server but might not included in the classpth.

There is no other reason for java.lang.ClassNotFoundException

Upvotes: 2

Related Questions