公司企业网站建设步骤,网站入口首页,宁波网站制作公司,口碑营销的特点linux上java解加密(AES/CBC)异常#xff1a;java.lang.SecurityException: JCE cannot authenticate the provider BC办法
用mapreduce做数据清洗的时候#xff0c;需要对数据进行解密#xff0c;加密方法是#xff1a;AES/CBC/PKCS7Padding#xff0c;由于java本身不支持…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如果有解压
jar -xvf wallet-summarize-1.0-SNAPSHOT.jar BOOT-INF/lib/bcprov-jdk15on-1.55.jar如果没有下载
https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on2.放包到$JAVA_HOME/jre/lib/ext 下 3.找到文件$JAVA_HOME/jre/lib/security/java.security
在security.provider.9 下新增一行security.provider.10org.bouncycastle.jce.provider.BouncyCastleProvider4.重启应用验证 其实以上问题是由于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.1sun.security.provider.Sun 2 security.provider.2sun.security.rsa.SunRsaSign 3 security.provider.3sun.security.ec.SunEC 4 security.provider.4com.sun.net.ssl.internal.ssl.Provider 5 security.provider.5com.sun.crypto.provider.SunJCE 6 security.provider.6sun.security.jgss.SunProvider 7 security.provider.7com.sun.security.sasl.Provider 8 security.provider.8org.jcp.xml.dsig.internal.dom.XMLDSigRI 9 security.provider.9sun.security.smartcardio.SunPCSC
10 security.provider.10org.bouncycastle.jce.provider.BouncyCastleProvider第10行是我添加的是由自己文件内容编号来确定的
完成这些配置后重新执行这个任务成功