首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoClassDefFoundError on BouncyCastle类

NoClassDefFoundError on BouncyCastle类
EN

Stack Overflow用户
提问于 2016-01-19 15:50:22
回答 1查看 3.7K关注 0票数 3

在使用BC类的WebApps上学习了一段时间之后,我有了一个WebApps:

代码语言:javascript
复制
java.lang.NoClassDefFoundError: org/bouncycastle/util/Pack  
  at org.bouncycastle.crypto.engines.AESFastEngine.unpackBlock(Unknown Source)
  at org.bouncycastle.crypto.engines.AESFastEngine.processBlock(Unknown Source)
  at org.bouncycastle.crypto.modes.CBCBlockCipher.decryptBlock(Unknown Source)
  at org.bouncycastle.crypto.modes.CBCBlockCipher.processBlock(Unknown Source)
  at org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher.processBytes(Unknown Source)
  at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.processBytes(Unknown Source)
  at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineUpdate(Unknown Source)
  at javax.crypto.Cipher.update(DashoA13*..)...

在tomcat重新启动后,错误将消失,并在1或2天后重新出现。

BC罐子没有被篡改过。

BC注册并使用如下:

代码语言:javascript
复制
// registration
if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null)
{
  Security.addProvider(new BouncyCastleProvider());
}

SecretKey secretKey = new SecretKeySpec("_mykey__mykey__mykey__mykey__myk".getBytes(), "AES");
IvParameterSpec iv = new IvParameterSpec("_iv__iv__iv__iv_".getBytes());
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");

System.out.println(cipher.getProvider()); // prints "BC version 1.53"

// encryption
cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
cipher.update("clearContent".getBytes());
byte[] cipheredContent = cipher.doFinal();

// decryption
cipher.init(Cipher.DECRYPT_MODE, secretKey, iv);
cipher.update(cipheredContent);
byte[] clearContent = cipher.doFinal();

System.out.println(new String(clearContent)); // prints "clearContent"

以下是这些组件:

  • java 6
  • tomcat 6
  • 在WEB/lib文件夹中的bcprov-jdk15on-153.jar
  • jce6无限强度

我漏掉了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-19 06:42:13

谢谢你@埃克斯,这为我指明了正确的方向,即使我没有遇到这个问题,因为几年前我把所有东西都篡改了。

另见https://stackoverflow.com/a/9911395

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

https://stackoverflow.com/questions/34881126

复制
相关文章

相似问题

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