• linux上java解加密(AES CBC)异常


    linux上java解加密(AES/CBC)异常:java.lang.SecurityException: JCE cannot authenticate the provider BC办法

    用mapreduce做数据清洗的时候,需要对数据进行解密,加密方法是:AES/CBC/PKCS7Padding,由于java本身不支持,需要添加依赖,以下为解决方法:

    因为我的服务使用docker容器启动的,所以以下步骤需要在docker容器中进行操作

    • 1.找包:bcprov-jdk15on-1.56.jar

    看看开发给的jar包里有没有:

    jar -tvf wallet-summarize-1.0-SNAPSHOT.jar | grep bcprov
    
    • 1

    如果有,解压:

    jar -xvf wallet-summarize-1.0-SNAPSHOT.jar BOOT-INF/lib/bcprov-jdk15on-1.55.jar
    
    • 1

    如果没有,下载:

    https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on
    
    • 1
    • 2.放包到:$JAVA_HOME/jre/lib/ext 下

    • 3.找到文件:$JAVA_HOME/jre/lib/security/java.security

    在security.provider.9 下新增一行:
    
    security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
    
    • 1
    • 2
    • 3
    • 4.重启应用验证;

    其实,以上问题是由于linux版本java与windows有一些区别导致的,解决方法如下:

    • 1、在mvn仓库中找到下载的包bcprov-jdk15on-1.56.jar,或者如果你不用maven,只要能下载到这个包,放到linux的$JAVA_HOME/jre\lib\ext下面;
    • 2、配置我的安全属性文件:vim /usr/java/jdk1.8.0_112/jre/lib/security/java.security
    1 security.provider.1=sun.security.provider.Sun 
     2 security.provider.2=sun.security.rsa.SunRsaSign 
     3 security.provider.3=sun.security.ec.SunEC 
     4 security.provider.4=com.sun.net.ssl.internal.ssl.Provider 
     5 security.provider.5=com.sun.crypto.provider.SunJCE 
     6 security.provider.6=sun.security.jgss.SunProvider 
     7 security.provider.7=com.sun.security.sasl.Provider 
     8 security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI 
     9 security.provider.9=sun.security.smartcardio.SunPCSC 
    10 security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    第10行是我添加的,是由自己文件内容编号来确定的;

    完成这些配置后,重新执行这个任务,成功!

  • 相关阅读:
    【每日练习】进制转化
    卡奥斯低代码平台新版本体验活动
    python之模拟登录与表单交互
    计算机网络谢希仁第七版课后答案-第二章 物理层(1-19题)
    TextRCNN、TextCNN、RNN
    彩票双色球预测工具1.0
    PyTorch中ReduceLROnPlateau的学习率调整优化器
    面向嵌入式系统的轻量级框架分析
    一、JDK和JRE
    [附源码]Python计算机毕业设计Django校园招聘微信小程序
  • 原文地址:https://blog.csdn.net/cljdsc/article/details/134494613