解决java: 无法访问org.bouncycastle.crypto.params.ECPrivateKeyParameters 找不到org.bouncycastle.crypto.param

问题描述

在更新封装加解密starter过程中,使用Hutool的国密Sm2报错。

:49:19
java: 无法访问org.bouncycastle.crypto.CipherParameters
  找不到org.bouncycastle.crypto.CipherParameters的类文件
44:26
java: 无法访问org.bouncycastle.crypto.params.ECPrivateKeyParameters
  找不到org.bouncycastle.crypto.params.ECPrivateKeyParameters的类文件

报错信息表明Java编译器无法访问org.bouncycastle.crypto.params.ECPrivateKeyParameters类。这通常意味着以下几种情况之一:

  1. 依赖缺失:项目可能缺少Bouncy Castle加密库的依赖。

    解决方法:确保项目中包含了Bouncy Castle的jar包。如果使用的是Maven或Gradle,添加相应的依赖项。
  2. 类路径未正确设置:即使已经添加了jar包,类路径也可能没有正确设置。

    解决方法:检查构建脚本或IDE设置,确保包含了Bouncy Castle jar包的路径。

  3. 错误的jar包版本:可能使用的Bouncy Castle jar包版本不兼容,或者缺少某些类。

    解决方法:检查使用的Bouncy Castle版本,确保它与项目兼容,并且包含所需的类。

  4. 安全限制:在某些情况下,Java的安全管理器可能阻止加载某些类。

    解决方法:检查是否有安全策略限制,或者是否需要添加例外。

  5. 类被混淆/改写:如果使用了ProGuard或其他混淆工具,可能需要相应地配置以保留Bouncy Castle的类。

    解决方法:更新混淆配置,以确保所需的类不被混淆或重命名。

解决方案

引入bouncycastle包。

<dependency>
  <groupId>org.bouncycastle</groupId>
  <artifactId>bcprov-jdk15on</artifactId>
  <version>1.68</version>
</dependency>

问题解决。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李景琰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值