JCE cannot authenticate the provider BC

JCE cannot authenticate the provider BC 这个问题,很多人遇到,如下


本人本着求真溯源的态度,先后通道搜索国内外资料和官网文档的方式,顺道撸了一点JCE。最终得到问题的原因,知道了明确的原因,自然各位道友有无数种方法解决。

    原因:JDK对类似bouncycastle的bcprov-jdk15on-159.jar包是有安全签名认证的,当我们如果进行生成jar的时候,如果选择类似eclipse的export runnable jar file 功能,如下红色勾选的选项,eclipse会解压缩依赖的包后一起打包成一个jar文件



以上生成jar的方式,会解压bcprov-jdk15on-159.jar,这类安全加密算法类似jar一旦有更改,包括解压,签名就会失效,不能通道jdk的验证,就会出现以上错误。

  针对以上的打包方式解决方法很简单,就是如下红色勾选的方式,将jar完成的打包进一个文件中,这样就没有问题了


生成的文件是这样的:


记得移动jar的时候,把**_lib文件带上放在同一个文件夹下面。

网上的兄弟很多各种改jdk安全配置文件,那样不好。。。

附送动态加入密码包见截图.就不需要添加类似:security.provider.9=org.bouncycastle.jce.provider.BouncyCastleProvider如下



1、动态加入

Security.addProvider(org.bouncycastle.jce.provider.BouncyCastleProvider)

2、注意打包方式

3、OK

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dylanstudy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值