Hello,
 I have a problem  with loading bouncy castle.
 My code snippet is:

int position = Security.addProvider(new BouncyCastleProvider());
KeyStore store = KeyStore.getInstance("PKCS12", "BC");

In the application log I have message that BouncyCastleProvider is already loaded (position== -1).
But call of getInstance(.) failed with exception:
 java.security.KeyStoreException: PKCS12 not found
Caused by: java.security.KeyStoreException: PKCS12 not found
Caused by: java.security.NoSuchAlgorithmException: class configured for KeyStore(provider: BC)cannot be found Caused by: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore

class JDKPKCS12KeyStore$BCPKCS12KeyStore is contained in webapps/appX/WEB-INF/lib/bcprov-ext-jdk16-146.jar

In the catalina log  there is a message:
Nov 8, 2011 8:34:22 AM org.apache.catalina.loader.WebappClassLoader loadClass INFO: Illegal access: this web application instance has been stopped already. Could not load org.bouncycastle.jce.provider.JDKPKCS12KeyStore$BCPKCS12KeyStore. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException

On the tomcat I have 2 more applications that use the same version of bcprov-ext. Each has it in own WEB-INF/lib directory.

Could anybody give me an advice?
Why tomcat does complaint about "Illegal access"?
Is there any way how to debug work of org.apache.catalina.loader.WebappClassLoader?

My tomcat version is:
Apache Tomcat/6.0.29 1.6.0_22-b04 Sun Microsystems Inc. Linux 2.6.32.36-0.5-default amd64


Thanks.

Jan

Reply via email to