首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法加载[org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings]

无法加载[org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings]
EN

Stack Overflow用户
提问于 2019-07-01 13:25:09
回答 2查看 3.8K关注 0票数 2

我正在使用tomcat8服务器、.bouncycastle进行文档签名。我的服务器上已经运行了一个war文件。当我为我的第二个项目部署了新的war文件之后,就会出现异常。

我已经尝试过堆叠溢出的每一个环节,但没有运气。

org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading非法访问:此web应用程序实例已停止。无法加载org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings.引发以下堆栈跟踪是为了调试以及试图终止导致非法访问的线程。java.lang.IllegalStateException:非法访问:这个web应用程序实例已经停止。无法装载

代码语言:javascript
运行
复制
 public static void xmlSigner(File xmlFile,String pfxFilePath){
    try{
            File pfxFile=new File(pfxFilePath);
            Security.addProvider(new BouncyCastleProvider());
            log.info("Above key store ");
            KeyStore keyStore = KeyStore.getInstance("pkcs12", "BC");
            log.info("below key store ");
            keyStore.load(new FileInputStream(pfxFile),password.toCharArray());
            log.info("load pfx file key store ");
            String alias = (String) keyStore.aliases().nextElement();
            PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, password.toCharArray());
            Certificate[] certificateChain = keyStore.getCertificateChain(alias);
            X509Certificate publickeyCertificate = (X509Certificate) certificateChain[certificateChain.length - 1];
            //log.info("privateKey : " + privateKey);
            //log.info("xmlSigner : " + xmlFile);
            log.info("SignerClient - Above Sign and Zip");
            SignerUtil.signAndzipFile(xmlFile, privateKey, publickeyCertificate);
            log.info("Successfully Signed");
        }
        catch(Exception xmlSignerException){
            log.error("xmlSigner : ", xmlSignerException);
            xmlSignerException.printStackTrace();

        }

   }

我在下面遇到了例外

代码语言:javascript
运行
复制
KeyStore keyStore = KeyStore.getInstance("pkcs12", "BC");
EN

回答 2

Stack Overflow用户

发布于 2020-05-22 10:17:05

我也面临同样的问题,Tomcat重启已经解决了这个问题。

代码语言:javascript
运行
复制
keystore = KeyStore.getInstance("PKCS12", "BC");
// java.security.KeyStoreException: PKCS12 not found
代码语言:javascript
运行
复制
Caused by: java.security.NoSuchAlgorithmException: class configured for KeyStore (provider: BC) cannot be found.
    at java.security.Provider$Service.getImplClass(Provider.java:1649)
    at java.security.Provider$Service.newInstance(Provider.java:1592)
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
    at java.security.Security.getImpl(Security.java:698)
    at java.security.KeyStore.getInstance(KeyStore.java:896)
    ... 11 more
Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$BCPKCS12KeyStore]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1354)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1211)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1172)
    at java.security.Provider$Service.getImplClass(Provider.java:1636)
    ... 16 more
Caused by: java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi$BCPKCS12KeyStore]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1364)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1352)
    ... 19 more
票数 4
EN

Stack Overflow用户

发布于 2020-09-24 03:50:35

请首先检查org.bouncycastle是否有多个版本。保留一个版本,如果使用tomcat,请重新启动tomcat。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56836527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档