一、背景介紹
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