JDK8安装JCE解决加密限制问题

一、背景介绍

JDK8的加密策略存在限制版本和无限制版本,随着越来越多的第三方工具只支持 JDK8,业务环境中,发现有些方法会报异常:

1、使用AES加解密

java.security.InvalidKeyException: Illegal key size

2、安全性机制导致的访问https会报错:

Received fatal alert: handshake_failure; nested exception is javax.net.ssl.SSLHandshakeException:
Received fatal alert: handshake_failure,accessUrl

这是因为某些国家的进口管制限制,JDK默认的加解密有一定的限制。
比如默认不允许 256 位密钥的 AES 加解密,解决方法就下载官方JCE无限制强度加密策略文件,覆盖即可。


二、安装JCE

这里提供一键安装脚本

# yum -y curl unzip
curl -q -L -C - -b "oraclelicense=accept-securebackup-cookie" -o /tmp/jce_policy-8.zip \
       -O http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip \
    && unzip -oj -d ${JAVA_HOME}/jre/lib/security /tmp/jce_policy-8.zip \*/\*.jar \
    && rm /tmp/jce_policy-8.zip

三、参考

【1】关于JDK8采坑JCE加密限制版本问题
【2】Docker Java8安装JCE

posted @ 2020-07-09 21:48  kancy  阅读(2907)  评论(0编辑  收藏  举报