jdk8的加密 jdk11不支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdk8的加密 jdk11不支持相关的知识,希望对你有一定的参考价值。

参考技术A JDK8的加密策略存在限制版本和无限制版本,越来越多的第三方工具只支持 JDK8。
可以使用AES加解密,或者下载官方JCE无限制强度加密策略文件,覆盖即可。
在将应用程序迁移到JDK 11之前,应熟悉从JDK 8迁移到以后的JDK版本中描述的JDK 8和更高版本之间的差异。

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



以上是关于jdk8的加密 jdk11不支持的主要内容,如果未能解决你的问题,请参考以下文章

57 mac 中 SIGINFO 信号, jdk8 支持, 但是 jdk9 不支持?

57 mac 中 SIGINFO 信号, jdk8 支持, 但是 jdk9 不支持?

57 mac 中 SIGINFO 信号, jdk8 支持, 但是 jdk9 不支持?

JDK8 11 17的支持周期

openEuler 21.03 特性解读 | 毕昇 JDK8 支持鲲鹏硬件加解密特性详解和使用介绍

jdk11后不支持webservice问题解决方案